1,重绘和回流
重绘:当元素的样式改变不影响布局时,浏览器将使用重绘对元素进行更新,此时只是UI层面的改变,性能损耗低
回流:当元素的结构,尺寸发生改变或者触发某些属性,动作时,浏览器将重新渲染页面,称为回流;此时浏览器需要重新计算,重新布局,重新渲染,性能损耗高;
2,http和https的区别
传输信息的安全性不同:http是超文本传输协议,明文传输;https是ssl加密传输协议;
连接方式不同:http是简单的无状态连接;https是ssl+http协议构建的可加密传输,身份认证的网络协议;
端口不同:http是80端口;https是443端口;
3,原型和原型链是什么
原型:原型是一个对象,是一个函数的prototype属性,包含了函数共享的属性和方法;
原型链:每一个构造函数都有一个原型对象,原型有一个属性constructor指回构造函数,实例有一个内部指针指向原型。当一个原型是一个实例时,那么这个时候,实例的内部指针指向一个原型,原型的属性指回一个构造函数,这就形成了一个链式;
4,继承的方式有哪些
原型链继承
借用构造函数继承
组合继承
原型式继承
寄生式继承
寄生组合式继承
5,keep-alive的属性和方法
keep-alive是vue的内置组件,包裹组件时,可以缓存组件状态,使组件不会被销毁
属性:
include:字符串或正则表达式。只有名称匹配的组件会被缓存,
exclude:字符串或正则表达式。任何名称匹配的组件都不会被缓存,
max:数字。最多可以缓存多少组件实例
设置了 keep-alive 缓存的组件,会多出两个生命周期钩子:
activated:页面进入时被调用
deactivated:组件停用时被调用
6,mixins如何使用,使用过程中如果和组件的属性或方法冲突怎么办
混入 (mixins) 是一个 JavaScript 对象,可以包含任意组件选项,比如 Vue 实例中生命周期的各个钩子函数,也可以是 data 、components 、methods 等。当组件使用混入是,mixins文件中的JS会插入当前使用的组件内。
mixins需要import引入,然后在组件中使用mixins:[ xxx ]插入
如果属性发生冲突,当前组件的属性会覆盖mixins中的属性
如果钩子函数发生冲突,会按照传入顺序依次调用执行,当前组件的最后执行
7,position: fixed 和 position: sticky 的区别
fixed 脱离文档流,参考定位元素为视图窗口的左上角,多用于功能按钮相对于视图窗口的固定位置显示;
sticky 在没有超过视图阈值的时候,未脱离文档流,超过时和fixed一样。多用于顶部导航栏的固定在视图窗口的显示;