废话不说,上代码
var letterList = ["A","B","C","D"];
for (var z = 0; z < letterList.length; z++){
var letter = new Sprite();
letter.loadImage("../imgs/linkup/" + letterList[z] + ".png", (bg.width / letterList.length) * z, 0, bg.width / letterList.length, bg.height / 2);
Laya.stage.addChild(letter);
letter.on("click", this, (function(para){
console.log("z:"+z+";para:"+para+";letterList[para]:"+letterList[para]);
return function () {
alert("z:"+z+";para:" + para + "I'm letter " + letterList[para]);
};
})(z));
}
控制台结果:
z:0;para:0;letterList[para]:A
z:1;para:1;letterList[para]:B
z:2;para:2;letterList[para]:C
对,你没看错,我也没贴错,就是只出了3个,这是我想问的第一个问题,why?
关键问题来了,点击结果:
z:4;para:3"I'm letter D
请问,为什么结果是D,我是不是闭了个假包?