闭包:可以在一个函数中访问另外一个函数作用域中的变量(返回该函数),闭包是连接外面的桥梁,可以实现局部变量常驻内存,同时不会有变量堵塞的现象。
案例:
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]();