打印循环变量时输出奇怪

时间:2013-12-05 15:40:00

标签: javascript

为什么输出一些奇怪的东西?

(function(i) { onImageLoad(i); })周围的括号是做什么的?似乎他们“实现”了这个功能,但我想知道真正的术语。

function startGame() {
    for (var i = 0; i < assets.length; i++) {
        frames.push(new Image());
        // correct
        //frames[i].onload = (function(i) { onImageLoad(i); })(i);
        // wrong
        frames[i].onload = function(i) { onImageLoad(i); };
        frames[i].src = assets[i];
    }
    setInterval(animate, frameRate);
}

onImageLoad = function(n) {
    console.log("image number", n, "loaded");
}
  

image number Event {clipboardData: undefined, cancelBubble: false, returnValue: true, srcElement: img, defaultPrevented: false…} loaded

0 个答案:

没有答案