学而不思则罔,思而不学则殆。这一篇会将一些看到的面试题作一个总结。之后看到新的面试题也会持续的更新在这个里面。
CSS 中盒子模型包括 IE 盒子模型和标准的 W3C 盒子模型。
W3C 盒子模型: width = content (box-sizing: content-box)
IE 盒子模型中: width = content + padding + border (box-sizing: border-box)css
块元素 | 行内元素 |
---|---|
块元素会独占一行,默认状况下,其宽度会自动填满父元素宽度,即便设置了宽度也会独占一行 | 行内元素不会独占一行,没有宽度和和高度属性。 |
块级元素:div p form ul li h1-h6 | 行内元素:span img input a i |
1XX:信息状态码html
2XX:成功状态码前端
3XX:重定向vue
4XX:客户端错误react
5XX: 服务器错误web
基本选择器:面试
复杂选择器:json
优先级:canvas
优势:跨域
缺点:
GIF
JPEG
PNG
由于js是单线程的。浏览器遇到etTimeout和setInterval会先执行完当前的代码块,在此以前会把定时器推入浏览器的待执行时间队列里面,等到浏览器执行完当前代码以后会看下事件队列里有没有任务,有的话才执行定时器里的代码。
千万不要使用typeof来判断对象和数组,由于这种类型都会返回object。
生命周期函数就是组件在初始化或者数据更新时会触发的钩子函数。
在实例初始化以后,数据观测 (data observer) 和 event/watcher 事件配置以前被调用
注意:此时,没法获取 data中的数据、methods中的方法
注意:这是一个经常使用的生命周期,能够调用methods中的方法、改变data中的数据
在挂载开始以前被调用
此时,vue实例已经挂载到页面中,能够获取到el中的DOM元素,进行DOM操做
数据更新时调用,发生在虚拟 DOM 从新渲染和打补丁以前。你能够在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。
注意:此处获取的数据是更新后的数据,可是获取页面中的DOM元素是更新以前的
组件 DOM 已经更新,因此你如今能够执行依赖于 DOM 的操做。
实例销毁以前调用。在这一步,实例仍然彻底可用。
使用场景:实例销毁以前,执行清理任务,好比:清除定时器等
Vue 实例销毁后调用。调用后,Vue 实例指示的全部东西都会解绑定,全部的事件监听器会被移除,全部的子实例也会被销毁。