1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
其原因主要是,es5中沒(méi)有塊級(jí)作用域,整個(gè)循環(huán)結(jié)束后,k的值為length,可以通過(guò)下面三種方法解決
//法1——閉包
for (k = 0; k < heart_group.length; k++) {
heart_group[k].addEventListener("click", (function(k) {
return function() {
clickHeart(k);
}
})(k), false);
}
//法2——bind方法
for (k = 0; k < heart_group.length; k++) {
heart_group[k].addEventListener("click", function() {
clickHeart(k);
}.bind(heart_group[k]),false);
}
//法3——對(duì)象屬性
for (k = 0; k < heart_group.length; k++) {
heart_group[k].index = k;
heart_group[k].addEventListener("click", function() {
clickHeart(this.k);
},false);
}
添加回答
舉報(bào)