js的闭包本质是能够调用其他函数内部变量的函数。
形式上外部会返回内部函数,以便访问内部变量。
基本模型:
function outer()
{
var a=0;
function inner()
{
a++;
alert(a);
}
return inner; //返回调用
}
/*******************************/
var exe=outer();
exe();//1
exe();//2
/*******************************/
js产生的来源是函数的内部可以调用函数外部的全局变量,但外部无法调用函数内部变量,为了解决这个问题,引进了闭包机制,用return搭桥。
在以上实例中直接用outer调用内部a是不被允许的。
网友评论