1、对于即将到来的 vue3.0 特性你有什么了解的吗?
Vue 3.0 的目标是让 Vue 核心变得更小、更快、更强大
2、虚拟 DOM 的优缺点?
优点:
(1)保证性能下限
(2)无需手动操作 DOM
(3)跨平台
缺点:
(1)无法进行极致优化
3、虚拟 DOM 实现原理
用 JavaScript 对象模拟真实 DOM 树,对真实 DOM 进行抽象;
diff 算法 — 比较两棵虚拟 DOM 树的差异;
pach 算法 — 将两个虚拟 DOM 对象的差异应用到真正的 DOM 树。
4、直接给一个数组项赋值,Vue 能检测到变化吗?
由于 JavaScript 的限制,Vue 不能检测到以下数组的变动:
(1)|当你利用索引直接设置一个数组项时|,例如:vm.items[indexOfItem] = newValue
可以使用: // Vue.set
Vue.set(vm.items, indexOfItem, newValue)
(2)|当你修改数组的长度时|,例如:vm.items.length = newLength
可以使用: // Array.prototype.splice
vm.items.splice(newLength)
5.简述原型与原型链,原型链的作用有哪些?
每一个类都是一个显示原型prototype
每一个类都有一个隐式原型__proto__
实例的__proto__等于类的显示原型prototype
当去查找一个实例的属性或方法现在自身查找, 找不到则沿着__proto__向上查找
我们把原型__proto__与原型__proto__形成的链条关系叫做原型链
1、实现了JS的继承
2、让实例拥有了类的公用方法