标题今天带给大家ES6的规范要点,满满的干货
1、闭包
概念:1.函数的内部调用了外部的变量,叫做闭包
2.闭包是为了将内存保留下来,就是将参数保留,不会立即被销毁
3.闭包过程中会使用到立即函数,立即保存函数是为了保留参数,否则就会立即销毁
4.添加点击事件,点击事件是为了得到一个函数,返回函数(回调函数)
注意:在闭包过程中,会发生内存泄漏,内存被参数占据了,所以内存变少了
示例:1.(未闭包)
var allBtn = document.querySelectorAll("button")
//无论点击哪个都会输出11,因为最后i++后,i变成了11,变为了全局变量。
for (var i = 1; i <= 10; i++) {
allBtn[(i - 1)].onclick = function() {
console.log(i)
}
}
示例:2.(闭包)
for (var i = 1; i <= 10; i++) {
allBtn[(i - 1)].onclick = (function(index) {
//返回的是一个回调函数
return function() {
console.log(index)
}
})(i)
}
//运行过程:将i传进来,给到function(index)的index,最后点击得到的是一个回调函数,在回调函数里面输出index。
示例:3.(使用let)
for (let i = 1; i <= 10; i++) {
allBtn[(i - 1)].onclick = function() {
console.log(i)
}
}
2.对象、数组的解构
var user = {name: "蔡徐坤&#