1
我相信我根本沒有足夠的咖啡可以清楚地看到,而且這看起來很平凡,但是,我有一個for循環,它在jQuery插件中傳遞了一些函數。 var i被傳遞,並且當然傳遞了i的最後一個值,而不是它在通過時分配的值。Javascript「for loop」變量指針
for (var i = 1; i < 3 + 1; i++) {
$('#div' + i).plugin({ // i returns correctly here
onDelete: function() {
alert("Deleting #" + i); // i returns 4 every time - last value of i
}
});
}
我該如何「複製」我,所以它是按照我的預期返回?我有一個解決方法,但我很想知道,所以我可以把我的頭放在沙子裏。
甜。我不敢相信我沒有想到這一點。帖子(i)究竟做了什麼? – 2013-02-19 14:34:16
@ MichaelC.Gates它被稱爲[immediate-invoked function expression](http://stackoverflow.com/questions/8228281/what-is-this-construct-in-javascript)(或IIFE)。 '(i)'部分正在用參數'i'調用函數。你應該考慮使用我的最後一個,因爲它是 更容易理解。 – 0x499602D2 2013-02-19 14:35:46
我的意思是最後一行})(i);.你的鏈接爲我清除了它。 Thx再次。 – 2013-02-19 14:37:09