返回首頁
當前位置: 主頁 > 網絡編程 > Jsp實例教程 >

Javascript閉包(Closure)使用基礎教程

時間:2015-03-06 21:44來源:知行網www.gbjajh.tw 編輯:麥田守望者

Closure中文翻譯為閉包.字面上來理解就是”封閉的包”.(這是一句廢話)
閉包是什么?
書面解釋為: 所謂“閉包”,指的是一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。
我認為閉包就是能夠讀/寫函數內部的某些變量的子函數,并將這些變量保存在內存中.

閉包的作用
上面的概念中已經提到過,主要就是為了讀/寫函數內部的某些變量,并將它保持在內存中.可能這樣講未必這么容易理解,下面讓我們來看一些例子:
1,讀取警察的生命值

function PoliceMan() {
    //定義初始生命值
    var lifeEnergy = 100;
    //顯示當前生命值
    function showLifeEnergy() {
        alert(lifeEnergy);
    }
    return showLifeEnergy;
}

//創建一個警察
var pm = new PoliceMan();
//顯示當前生命值
pm();

 

2,讀寫/保存 警察的生命值

function PoliceMan() {
    //定義初始生命值
    var lifeEnergy = 100;
    //中彈減少生命值
    InBullet = function(){
        lifeEnergy -= 1;
    }
    //顯示當前生命值
    function showLifeEnergy() {
        alert(lifeEnergy);
    }
    return showLifeEnergy;
}

//創建一個警察
var pm = new PoliceMan();
//顯示當前生命值
pm();
//中彈減少生命值
InBullet();
//顯示當前生命值
pm();

注意事項
由以上例子我們可以看到警察的生命值變量lifeEnergy會一直駐留在內存當中.如果這種方法使用頻繁,那么很容易就把機器的內存消耗完.因此建議能用函數的地方就盡量使用函數,而不要使用閉包.

------分隔線----------------------------
標簽(Tag):Javascript javascript實例教程 JavaScript源代碼 JavaScript基礎教程
------分隔線----------------------------
推薦內容
猜你感興趣
黑龙江快乐十分20190730开奖结果