1.代码结构更清晰
2.压缩包体积更小
3.Object.defineProperty 替换为es6的 Proxy。 将原本对对象属性的操作变为对整个对象的操作,可优化性增强
4.启用 TypeScript 语法,大大的简化了代码
在created比较好,如果在mounted钩子函数中请求数据可能导致页面闪屏问题。
两者区别:
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
function myConst (key, val) {
window.key = val
Object.defineProperty(window, key, {
enumerable: false,
configurable: false,
get: function () {
return val
},
set: function (value) {
if (value !== val) {
throw new TypeError('不能重复定义')
} else {
return val
}
}
})
}
function aa(){
var num=10;
function bb(){
num++
console.log(num);
}
return bb;
}
//bb(); //无法直接访问函数内部的函数
aa()();//11
aa()();//11
aa()();//11
var closure = aa();
closure();//11
closure();//12
closure();//13
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |