【发布时间】:2013-02-06 01:02:06
【问题描述】:
我有一个名为front images 的数组,写成var frontImages = [];。据我了解,javascript 数组不需要指定长度。当我运行下面的代码时,它会在输出到控制台时打印 0 作为数组的长度。但是,当我将数组长度指定为 var frontImages = new Array(3); 时,它会打印出 3,即数组的正确长度。为什么未指定长度的数组不返回 3?
function getMainPosters() {
var games = new Image(); //create 3 images
var apps = new Image();
var aboutme = new Image();
games.onload = function() { //add image to frontImages array on load
frontImages.push(games);
};
apps.onload = function() {
frontImages.push(apps);
};
aboutme.onload = function() {
frontImages.push(aboutme);
};
games.src = "images/assets/posters/games_poster.jpg"; //specify source of image
apps.src = "images/assets/posters/apps_poster.jpg";
aboutme.src = "images/assets/posters/aboutme_poster.jpg";
console.log(frontImages.length); //print the length of frontImages to console
}
【问题讨论】:
-
将一些
console.logs 放在onload处理程序中,就变得非常明显了。
标签: javascript arrays list canvas