什么是闭包:
闭包是一个存在内部函数的引用关系。
该引用指向的是外部函数的局部变量对象(前提是内部函数使用了外部函数的局部变量)
闭包的作用:
延长外部函数变量对象的生命周期
使用闭包能够间接的从函数外部访问函数内部的私有变量
一、常见的闭包
function outer() {
var a = 1
function inner() {
console.log(a) //1
}
inner()
}
outer()
二、实例详解
function createFunc() {
var result = new Array()
for (var i = 0; i < 10; i++) {
result[i] = function () {
console.log(i)
}
}
return result
}
var result = createFunc()
result[0]() //10
result[1]() //10
result[2]() //10
result[3]() //10
result[4]() //10
result[5]() //10
result[6]() //10
result[7]() //10