js的閉包的一個示例說明
更新時間:2008年11月18日 11:18:39 作者:
js中 某個函數(shù)的內部函數(shù)在該函數(shù)執(zhí)行結束后仍然可以訪問這個函數(shù)中定義的變量,這稱為閉包(Closure)
復制代碼 代碼如下:
function outside()
{
var myVar = 1;
return function (){
alert(myVar);
}
}
var t = outside();
t();
js中 某個函數(shù)的內部函數(shù)在該函數(shù)執(zhí)行結束后仍然可以訪問這個函數(shù)中定義的變量,這稱為閉包(Closure)
下面例子是給三個錨anchor1,anchor2,anchor3添加onclick事件,可以預期的效果是點擊錨點顯示相應的錨點ID,實際上卻都是顯示"My id is anchor4", 這個就是閉包作用引起的邏輯上的bug,添加事件的函數(shù)執(zhí)行完后i的值為4,
復制代碼 代碼如下:
ADS.addEvent(window, 'load', function(W3CEvent) {m
for (var i=1 ; i<=3 ; i++ ) {
var anchor = document.getElementById('anchor' + i);
ADS.addEvent(anchor,'click',function() {
alert('My id is anchor' + i);
});
}
});
相關文章
JavaScript使用Blob文件流下載txt、pdf、圖片等文件,自定義下載文件名
JavaScript使用Blob文件流下載txt、pdf、圖片等格式文件,同時自定義下載文件名,2023-08-08JS簡單實現(xiàn)DIV相對于瀏覽器固定位置不變的方法
這篇文章主要介紹了JS簡單實現(xiàn)DIV相對于瀏覽器固定位置不變的方法,涉及javascript針對頁面位置的運算與動態(tài)變換技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)2009-08-08如何判斷微信內置瀏覽器(通過User Agent實現(xiàn))
在進行微信公眾賬號開發(fā)的時候,需要知道當前的瀏覽器是微信內置的瀏覽器,那么如何判斷呢?這是就只有通過瀏覽器的User Agent來進行判斷了2014-09-09