javascript學(xué)習(xí)之閉包分析
在ECMAScript中,在函數(shù)聲明處向函數(shù)外部看到的聲明的所有變量,在函數(shù)內(nèi)部都能訪問到它們的最終值!
閉包函數(shù)只能訪問變量的最終值!!!
eg:
function fnTest(arr) {
for (var i=0;i < arr.length;i++) {
arr[i]=function () { alert(i+" | "+arr[i]); };
}
}
var arr = [0,1,2,3];
fnTest(arr);
for (var i=0;i < arr.length;i++) {
arr[i](); //始終輸出4還有一個(gè)undefined因?yàn)楹瘮?shù)退出后,i值為4,所以訪問到的值只有4
//結(jié)果會(huì)連續(xù)彈出4個(gè)"4|undefined”
}
不但在閉包中可以訪問閉包外的變量值,而且還可以設(shè)置它的值
eg:
function fnTest() {
var a="June";
return {
set:function (param) {a = param},
get:function () {return a}
};
}
var obj = fnTest();
alert(obj.get());//彈出June
obj.set(586);
alert(obj.get());//彈出586
相關(guān)文章
js判斷手機(jī)號(hào)運(yùn)營(yíng)商的方法
這篇文章主要介紹了js判斷手機(jī)號(hào)運(yùn)營(yíng)商的方法,需要的朋友可以參考下2015-10-10js實(shí)現(xiàn)的倒計(jì)時(shí)按鈕實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)的倒計(jì)時(shí)按鈕,實(shí)例分析了javascript倒計(jì)時(shí)效果的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06移動(dòng)端基礎(chǔ)事件總結(jié)與應(yīng)用
本文主要介紹了移動(dòng)端基礎(chǔ)事件總結(jié)與應(yīng)用,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01分享8個(gè)JavaScript庫(kù)可更好地處理本地存儲(chǔ)
這篇文章主要介紹了分享8個(gè)JavaScript庫(kù)可更好地處理本地存儲(chǔ),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10