面试押题

37次阅读

共计 1536 个字符,预计需要花费 4 分钟才能阅读完成。

什么是 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

正文完
 0