1.w3c标准
w3c标准是万维网提出的一系列标准,为了让我们的页面,我们的程序支持所有的浏览器,以及满足更多的用户
主要分为三部分 结构 表现 行为
2.vue模版怎么编译
从模版中提取原生的html和非原生的html,比如绑定的属性,事件,指令
经过一些处理生成render函数
render函数再将模版内容生成vnode
再通过patch过程(Diff)得到要渲染到视图中的vnode
最后再通过vnode创建真实的dom节点,也就是将原生的html插入视图完成渲染
3.浏览器渲染页面原理以及重绘跟回流
根据html文件构建dom树以及cssom树,若js文件阻塞,则优先加载js文件,然后继续构建
构建渲染树
页面渲染完成后,若js操作了DOM节点,则根据j操作DOM动作的大小,浏览器对页面进行重绘跟回流
重绘:
页面中元素的样式改变不会影响它在文档流中的位置,浏览器将新的样式赋予给元素并重新绘制他
回流
部分或全部元素的尺寸,结构,或某些属性改变时,浏览器对页面重新渲染
如何避免重绘跟回流
尽可能的在DOM树的最末端改变class
避免设置多重内联样式
使用visibility替换display:none,因为前者引发重绘,后者会回流
ES5跟ES6的区别
1.let声明变量,跟const声明变量,两个都有块级作用域,ES5中是没有块级作用域的,并且var是有变量提升的,在let中,使用的变量一定要记得声明
2. 箭头函数ES6中的函数定义不在使用关键字而是用()=》进行定义
模版字符串是增强版的字符串用(`)可以当成普通字符串,也可以定义多行字符串
解构赋值ES6允许按照一定模式,从对象和数组中提取值,对变量进行赋值
......展开运算符可以将数组或对象里面的值展开,可以将多个值收集为一个变量