Sha*_*aun 2 javascript arrays 2d image
我需要在Javascript中使用2d图像数组,并写了以下内容: -
var arrImages = new Array(3,3);
var strTemp;
for (intX=0; intX<3; intX++)
{
for (intY=0;intY<3;intY++)
{
strTemp = "<br>arrImages[" + intX + "][" + intY + "]";
try
{
arrImages[intX][intY] = new Image();
document.write(strTemp + " - Success");
}
catch (err)
{
document.write(strTemp + " - Fail - " + err.description);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这在IE中产生以下内容: -
arrImages [0] [0] - 成功
arrImages [0] [1] - 成功
arrImages [0] [2] - 成功
arrImages [1] [0] - 成功
arrImages [1] [1] - 成功
arrImages [1] [ 2] - 成功
arrImages [2] [0] - 失败 - 对象预期
arrImages [2] [1] - 失败 - 对象预期
arrImages [2] [2] - 失败 - 对象预期
在Firefox,Chrome和Safari中,"对象预期"显示为"未定义".
有没有人知道为什么0,0 - > 1,2成功但其他一切都失败了?
肖恩.
var arrImages = new Array(3,3);
Run Code Online (Sandbox Code Playgroud)
相当于
var arrImages = [3, 3];
Run Code Online (Sandbox Code Playgroud)
因此arrImages[2]未定义索引0和1实际上包含对象.请注意,javascript数组不是固定大小的,因此创建它们时无需指定长度.
您需要手动创建多维数组,例如:
arrImages = new Array();
for (intX=0; intX<3; intX++)
{
arrImages[intX] = new Array();
...
Run Code Online (Sandbox Code Playgroud)