前端vue性能提升之Object.freez()
Object上有一个数据冻结的方法,被冻结的对象不能对他进行拓展,对冻结的对象进行添加,修改,删除等操作是无效的,但是对象的读取是正常的。看代码:
var obj = {
name: '张三',
age: 18,
height: 190
}
// 输出打印原对象
console.log('原对象', obj);
Object.freeze(obj)
// 添加属性
obj.sex = '男'
console.log("添加sex后的对象", obj);
// 引用值替换
obj = {
name:'李四',
age:20
}
console.log('引用替换的对象',obj);
再来看打印结果:
从打印结果可以看出数据冻结的只是对象的值,我们依然可以替换掉其引用值,那为什么说数据冻结能提升性能呢?因为vue不会对冻结的对象进行数据的劫持,这在一定程度上是提升了我们代码的编译速度,因此,我们可以将纯展示的数据冻结以提升性能