看板 Web_Design 關於我們 聯絡資訊
我在stackoverflow上看到一個範例: http://bit.ly/2nTLOgD 裡面有這麼一段code: function generate_handler( j ) { return function(event) { switchBanners(j, true); }; } for(var i = 1; i <= totalBanners; i++){ $('#slider-' + i).click( generate_handler( i ) ); } 這段code我自己實驗的結果 是可以正常執行的 但我看了網頁的解釋 還是不懂為什麼寫在click()內的generate_handler( i ) 是可以在迴圈執行時就被執行 而不會等到事件發生時才執行 看起來是跟變數的有效範圍有關 但不知道具體的原因 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.99.247 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1490448147.A.B2F.html
mozzan: 和變數無關啊,會先執行generate_handler就純粹是他是一個 03/25 22:10
mozzan: function,是 function(event) {switchBanners();}這個才 03/25 22:11
mozzan: 會在 click 時執行 03/25 22:11
mozzan: 你把執行一個function和定義一個function弄混了 03/25 22:13