什么是BFC

块级格式化上下文

如果给一个div写一个overflow:hidden,那么这个div里面的浮动元素就会被他包裹起来

css选择器的优先级

  1. 越具体优先级越高
  2. 卸载后面的,覆盖卸载前面的
  3. important最高

两种盒子模型

  • 在标准的盒子模型中,width指content部分的宽度
  • 在IE盒子模型中,width表示content+padding+border这三个部分的宽度

如果想要切换盒模型也很简单,这里需要借助css3的box-sizing属性

box-sizing: content-box 是W3C盒子模型
box-sizing: border-box 是IE盒子模型

box-sizing的默认属性是content-bo

清除浮动

.clearfix:after{
    content:";
    display:block/table;
    clear:both;
}

.clearfix 加到容器上,里面的子元素的浮动就被清除了

手写ajax

var request=new XMLHttpRequest()
request.ope('GET','/xxx')
request.onreadystatechange=function(){
    if(request.readyState===4){
        console.log('请求完成')   
        if(request.response.status>=200&&request.response.status<300){
        console.log('请求成功')
        }else{}
    }
}
request.send()

数组去重

  1. hash
  2. [...new Set(array)]
  3. WeakMap >支持所有类型的去重

事件委托

1、什么是事件委托?
事件委托就是利用冒泡的原理,将事件加到 父元素 或 祖先元素上,触发执行效果。

例:在 document 中绑定 click 事件,当 click 的对象为 按钮 btn 时,弹框显示 按钮 btn的值

事件冒泡

就是事件从最深的节点开始,然后逐步向上传播事件

HTTP缓存

ETag >MD5 >有请求
Expire >过期时间
Cach-Conrol > max age=600s >无请求

cookie和session

cookie > 服务器发给浏览器的一段字符串,浏览器每次访问对应域名的时候都要把这段字符串带上去

session 会话,表示浏览器与服务器一段时间内的会话
区别 :session是在服务器上的,cookie是在浏览器上的

一般是基于cookie实现的,把session id放到cookie里面就能实现session

cookie和localstorige的区别

1、大小限制:cookie 4k localstorige 5m
2、cookie是存放用户信息的,localstorige是用来存不重要的数据
3、cookie会被发送到服务器上的,localstorige是不发送到服务器上的

HTTP1和HTTP2的区别

多路复用 就是 链接共享
服务器推送 http2有一个server push功能
http2强制用https

watch 和computed的区别

watch是监听数据 没有缓存,只要一变就会进行操作
computed是计算属性,会有缓存,会在属性变化的时候再去计算

vue生命周期分别有什么用

在mounted里面会做一些数据请求
在created用来创建时的初始化
udated会用来做更新之后的事情

你是怎么使用vuex的?

vuex是一个专为vue.js应用程序开发的状态管理工具

vue响应式原理

object.defineroperty把属性全部转为getter/setter

vue Router

vue router是vue.js官方的路由管理器

vue router怎么做懒加载

import('./foo.vue') > 返回一个promise


前端工程师
4 声望0 粉丝

« 上一篇
html面试