原文:閉包循環問題--for循環只顯示最后一個i的值

這段代碼主要用來操作 個div,哪個div被點,然后彈出框提示第i個div被點 問題是:無論點哪個div,彈出框提示的始終都是第二個div被點了。 以上代碼中遇到了一個使用閉包和循環時常見的問題,也就是說函數綁定之后,閉包抓取的變量被更新了。這意味着,每一個綁定的函數處理程序都會一直顯示i最后的值 處理代碼如下 加入一個即時函數,注意for var i i lt divs.length i 后面 ...

2017-02-24 15:37 0 4460 推薦指數:

查看詳情

淺談js for循環輸出i為同一問題閉包解決)

1、最近開發中遇到一個問題,為什么每次輸出都是5,而不是點擊每個p,就alert出對應的1,2,3,4,5。 此時點擊任意p彈出的都是5 出現原因:js事件處理器在線程空閑時間不會運行,導致最后運行的時候輸出的都是i最后,即:5 2、解決辦法:使用閉包將變量i保護起來。 ...

Thu Nov 09 01:24:00 CST 2017 0 10218
利用閉包解決for循環里onclick事件不能捕捉實時i問題

問題描述 我們都知道,如果我們對於一組元素(相同的標簽)同時進行onclick事件處理的時候(在需要獲取到索引的時候),一般是寫一個for循環,但是onclick是一個異步調用的,所以會帶來一個問題,當我們觸發這個事件的時候,我們能獲取的i是for完整執行完后i,而不能獲取到代碼順序里i ...

Wed Sep 27 03:54:00 CST 2017 0 1802
JavaScript--------閉包 取for循環i 【轉】

JavaScript閉包 取for循環i 【轉】 2011-10-10 10:20 415人閱讀 評論(1) 收藏 舉報 有個網友問了個問題,如下的html,為什么每次輸出都是5,而不是點擊每個p,就alert出對應的1,2,3,4,5 ...

Fri Oct 05 07:04:00 CST 2012 5 25306
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM