24年面试问题总结记录
1,重绘和回流
重绘:当元素的样式改变不影响布局时,浏览器将使用重绘对元素进行更新,此时知识UI层面的改变,性能损耗低
回流:当元素的结构,尺寸发生改变或者触发某些属性,动作时,浏览器将重新渲染页面,称为回流;此时浏览器需要重新计算,重新布局,重新渲染,性能损耗高;
2,http和https的区别
传输信息的安全性不同:http是超文本传输协议,明文传输;https是ssl加密传输协议;
连接方式不同:http是简单的无状态连接;https是ssl+http协议构建的可加密传输,身份认证的网络协议;
端口不同:http是80端口;https是443端口;
3,原型和原型链是什么
原型:原型是一个对象,是一个函数的prototype,包含了函数的属性和方法;
原型链:通过对象__proto__属性指向函数的原型对象一层层的往上找,直到找到对象的原型对象,这一层层的继承关系形成一条链,就是原型链;
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中的属性
如果钩子函数发生冲突,会按照传入顺序依次调用执行,当前组件的最后执行