国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

采用自執行的匿名函數解決for循環使用閉包的問題

2024-05-06 16:08:45
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了采用自執行的匿名函數解決for循環使用閉包的問題,很簡單,但比較實用,需要的朋友可以參考下
 
 

這段代碼輸出的是10個10而不是期望的0到9,因為閉包內是對i的引用,然后函數執行時i已經變成了10

function f1(){for(var i = 0; i < 10; i++) {setTimeout(function() {alert(i); }, 1000);}}f1();

解決以上的問題可以采用自執行的匿名函數

function f2(){for(var i = 0; i < 10; i++) {(function(e) {setTimeout(function() {alert(e); }, 1000);})(i);}}f2();

這里的匿名函數將i作為參數,這里的e會有i的一個拷貝,而引用時是對e的引用,這就避免了上述的問題

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 敦化市| 扎赉特旗| 岳西县| 辽宁省| 白银市| 定结县| 武宁县| 堆龙德庆县| 盐城市| 巩留县| 江口县| 紫阳县| 明星| 黔南| 合江县| 临高县| 嘉鱼县| 靖安县| 盘山县| 象山县| 昌图县| 津市市| 云梦县| 甘谷县| 长白| 应用必备| 成都市| 云浮市| 甘洛县| 安塞县| 马龙县| 漠河县| 依兰县| 西丰县| 简阳市| 彰化县| 丰台区| 安溪县| 靖西县| 巴楚县| 凤山市|