闭包指有权访问另外一个函数作用域的变量的函数,常见的方式是在一个函数中再创建一个函数。闭包中的作用域链是在本函数中的作用域向上一层的函数或者全局作用域连接。闭包可以访问作用域链连接的作用域中的变量和对象。
|
|
利用闭包返回数组函数:1234567891011function makeClosures(arr, fn) { var func = []; for(var i=0;i<arr.length;i++) { func.push(function(i) { return function() { return fn(arr[i]); } }(i)); } return func;}