看板 Web_Design 關於我們 聯絡資訊
不好意思問題有點不清楚 我想問的是,在一個for迴圈中,變數i的質每次都會變 要怎麼用i來當作函數的變數呢? 好像越講越不清楚,舉個例子好了 像是我html裡有三個div,id就叫d1,d2,d3好了 現在我想要設定他們的onclick,按到d1時會alert("hello 1!")這樣,以此類推 直覺想到的方法是 window.onload = { for(var i = 1; i <= 3; i++) { var d = getElementById('d' + i); d.onclick = function() { alert('hello' + i); }; } } 不過這樣每個都alert("hello 4!") 我的想法是把i用字面上的形式保留下來,不過不知道怎麼做 所以po來這邊請各位高手解答,感恩... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.201.19
Darkland:for(...){ (function(i) { ..... })(i) } 01/11 11:44
lturtsamuel:太感謝了!! 01/11 11:52
KeithYeh:原理可以參考這篇 http://goo.gl/vI93Y 01/11 15:00
Rplus:Javascript中的傳遞參考與closure (4) by azole 01/15 04:14