闭包:可以在一个函数中访问另外一个函数作用域中的变量(返回该函数),闭包是连接外面的桥梁,可以实现局部变量常驻内存,同时不会有变量堵塞的现象。
案例:
var arr = []
for (var i = 0; i < 4; i++) {
arr.push(function () {
console.log(i);
})
}
arr[0]();
arr[1]();
arr[2]();
//数组中的函数打印的i都会是4,当想要函数里面i打印各个索引值时,就可以用闭包完成。
for (var i = 0; i < 4; i++) {
()()
}
for (var i = 0; i < 4; i++) {
(function () {
arr.push(function () {
console.log(i);
})
})(i)
}
arr[0]();
arr[1]();
arr[2]();