有很多公司会问到闭包,因为要解决js的作用域问题,所以使用闭包;来个简单的闭包:
function a(){
var i = 0;
function b(){
alert(++i);//改变父函数的变量
}
return b;
}
var c = a(); c()//此函数本来无法访问到变量i,也无法改变i;但是通过闭包中执行b函数(函数内部的子函数才能读取局部变量)而修改了变量;
所以闭包是将函数内部和函数外部连接起来的桥梁;
先简单写下,有时间了再多上些实例;
有很多公司会问到闭包,因为要解决js的作用域问题,所以使用闭包;来个简单的闭包:
function a(){
var i = 0;
function b(){
alert(++i);//改变父函数的变量
}
return b;
}
var c = a(); c()//此函数本来无法访问到变量i,也无法改变i;但是通过闭包中执行b函数(函数内部的子函数才能读取局部变量)而修改了变量;
所以闭包是将函数内部和函数外部连接起来的桥梁;
先简单写下,有时间了再多上些实例;