请声明所有我的图片,不要有几行代码。
而不是对每个图像执行此操作:
var Image1 = new Image();
Image1.src = "Image1.png";
var Image2 = new Image();
Imag2e.src = "Image2.png";
我这样做:
var tab1image = new Array("Image1" , "Image2" );
var tab2image = new Array("Image1.png" , "Image2.png" );
for (var i=0; i<tab1image.length; i++)
{
var tab1image[i] = new Image();
tab1image[i].src = tab2image[i];
}
但是我有这个错误:未捕获的语法错误:意外的令牌[
提前感谢。
var tab1image[i]
无效。
tab1image[i]
指的是tab1image
,它是一个存在的值,因此您不需要该行上的var。您正在设置现有tab1image
变量的属性,而不是声明新变量。
但是,如果要将源数组转换为图像数组,可以使用数组的map函数执行此操作:
var imageSources = ["Image1.png" , "Image2.png"];
var images = imageSources.map(source => {
var image = new Image();
image.src = source;
return image;
});
// images is now an array of images, just like the tab1image array in your original code
这样,您无需创建单独的数组即可提前保存图像!
JavaScript中的变量名称只能包含字母,数字,下划线或美元符号] >> 。
仅删除声明关键字(var
),因为这里不需要任何声明:
tab1image[i] = new Image();
var tab1image = new Array("Image1", "Image2");
var tab2image = new Array("Image1.png", "Image2.png");
for (var i = 0; i < tab1image.length; i++){
tab1image[i] = new Image();
tab1image[i].src = tab2image[i];
console.log(tab1image[i].src)
}