用数组(javascript)声明我的所有图像

问题描述 投票:0回答:2

请声明所有我的图片,不要有几行代码。

而不是对每个图像执行此操作:

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];
} 

但是我有这个错误:未捕获的语法错误:意外的令牌[

提前感谢。

javascript
2个回答
0
投票

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

这样,您无需创建单独的数组即可提前保存图像!


0
投票

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)
}
© www.soinside.com 2019 - 2024. All rights reserved.