JS獲取for迴圈中i的實時值
阿新 • • 發佈:2018-11-14
最近在完成燈箱效果時,需要獲取for迴圈中i的實時值來定位大圖輪播的索引,但最初獲得的是i的最大值
幾種獲取for迴圈中i的實時值方法:
自調:
for (var i = 0; i < itemli.length; i++) {
(function (arg) {
itemli[arg].onclick = function () {
console.log(arg);
}
})(i);
};
閉包:
let代替var: 每次執行都是一個全新的獨立的塊作用域,用let宣告的變數傳入到 for迴圈體的作用域後,不會發生改變,不受外界的影響。for (var i = 0 ; i < itemli.length ; i++) { itemli[i].onclick = function (arg) { return function () { console.log(arg); } }(i); };
for (let i = 0; i < itemli.length; i++) {
itemli[i].onclick = function () {
console.log(i);
}
};