欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中的閉包

 更新時間:2016年02月24日 09:29:50   作者:SJBlog  
閉包,官方對閉包的解釋是:一個擁有許多變量和綁定了這些變量的環(huán)境的表達式(通常是一個函數(shù)),因而這些變量也是該表達式的一部分

1、什么是閉包

閉包,官方對閉包的解釋是:一個擁有許多變量和綁定了這些變量的環(huán)境的表達式(通常是一個函數(shù)),因而這些變量也是該表達式的一部分。

簡單的說,Javascript允許使用內(nèi)部函數(shù)---即函數(shù)定義和函數(shù)表達式位于另一個函數(shù)的函數(shù)體內(nèi)。而且,這些內(nèi)部函數(shù)可以訪問它們所在的外部函數(shù)中聲明的所有局部變量、參數(shù)和聲明的其他內(nèi)部函數(shù)。當(dāng)其中一個這樣的內(nèi)部函數(shù)在包含它們的外部函數(shù)之外被調(diào)用時,就會形成閉包。

閉包的特點

1 函數(shù)嵌套函數(shù)

2 函數(shù)內(nèi)部可以引用外部的參數(shù)和變量

3 參數(shù)和變量不會被垃圾回收機制回收

一般函數(shù)執(zhí)行完畢后,局部活動對象就被銷毀,內(nèi)存中僅僅保存全局作用域。但閉包的情況不同!

function fn(){
var a = ;
function fn(){
//可以訪問fn中定義的a值
alert( a++ );
}
fn();
}
fn(); //
fn(); // 
function fn(){
var a = ;
function fn(){
//可以訪問fn中定義的a值
  alert( a++ );
}
return fn;//
}
var f = fn();
f(); // 執(zhí)行完后a還在內(nèi)存中
f(); //
f = null; //a被回收

以上所述是小編給大家介紹JavaScript中的閉包,希望對大家有所幫助!

相關(guān)文章

最新評論