js的閉包本質(zhì)是能夠調(diào)用其他函數(shù)內(nèi)部變量的函數(shù)。
形式上外部會(huì)返回內(nèi)部函數(shù),以便訪問(wèn)內(nèi)部變量。
基本模型:
function outer()
{
?var a=0;
?function inner()
?{
??a++;
??alert(a);
?}
return inner;?//返回調(diào)用
}
/*******************************/
var exe=outer();
exe();//1
exe();//2
/*******************************/
js產(chǎn)生的來(lái)源是函數(shù)的內(nèi)部可以調(diào)用函數(shù)外部的全局變量,但外部無(wú)法調(diào)用函數(shù)內(nèi)部變量,為了解決這個(gè)問(wèn)題,引進(jìn)了閉包機(jī)制,用return搭橋。
在以上實(shí)例中直接用outer調(diào)用內(nèi)部a是不被允許的。