只是模拟二维数组的样式而已。
arrNum[i] = []arrNum 是一个数组,再定义arrNum里所以的元素的值都空数组。
定义两层[]实现二维数组
如:
var arr2=[[1,2],[54,33]]这里通过[]定义了二维数组.其中1,2,54,33是第二维中的数,第一维中包含的第二维分别是[1,2],[54,33]
var arr = [1, 2][1, 2] 是数组的“字面量”
相当于
var arr = new Array(1, 2)
还有 Object 和 RegExp 也有相应的字面量:
var obj = {"property" : "value"/*, etc.*/}
var reg = /^http:\/\/.+/ //匹配以http://开始的字符串
所谓的“二维数组”,是一个“成员是一维数组的数组”,比如:
var arr =
[
["arr[0][0]", "arr[0][1]"],
["arr[1][0]", "arr[1][1]"]
]
所以,你要定义的二维数组应该写成这样:
var imageholder =
[
[new Image(), new Image()]
]
或者
var imageholder = new Array()
imageholder[0] = new Array()
imageholder[0][0] = new Image()
imageholder[0][1] = new Image()
类似的,三维数组就像这样:
var arr =
[
[
["arr[0][0][0]","arr[0][0][1]","arr[0][0][2]"],
["arr[0][1][0]","arr[0][1][1]","arr[0][1][2]"],
["arr[0][2][0]","arr[0][2][1]","arr[0][2][2]"]
],
[
["arr[1][0][0]","arr[1][0][1]","arr[1][0][2]"],
["arr[1][1][0]","arr[1][1][1]","arr[1][1][2]"],
["arr[1][2][0]","arr[1][2][1]","arr[1][2][2]"]
],
[
["arr[2][0][0]","arr[2][0][1]","arr[2][0][2]"],
["arr[2][1][0]","arr[2][1][1]","arr[2][1][2]"],
["arr[2][2][0]","arr[2][2][1]","arr[2][2][2]"]
]
]
本来是一个一个敲的,但敲了几个就快晕了,就用下面的代码“生”出来了:
document.write("<pre>")
document.writeln("var arr =\n[")
for(var i=0i<3i++){
document.writeln(" [")
for(var j=0j<3j++){
document.write(" [")
for(var k=0k<3k++){
document.write('"' + ("arr" + i + j + k).replace(/(\d)/g,"[$1]") + ((k<2)?'",':'"'))
}
document.writeln(((j<2)?'],':']'))
}
document.writeln(((i<2)?' ],':' ]'))
}
document.writeln("]")
document.write("<pre>")