javascript 中只有一维数组没有二维 多维数组要是想定义二维数组只能模拟
var myArray = new Array(new Array(), new Array(), new Array(), ...);
其实这是一个一维数组,里边的每一个元素又是一个数组。调用这个“二维数组”的元素时:myArray[2][3] = ...;
var myArray = new Array(new Array(), new Array(), new Array(), ...);
其实这是一个一维数组,里边的每一个元素又是一个数组。调用这个“二维数组”的元素时:myArray[2][3] = ...;
实验下面的代码
<SCRIPT LANGUAGE=javascript>
var jstest = 10 * 10000 ;
var jsArr = new Array(jstest) ;
var jsBegin = new Date().getTime();
for(i=0;i<jstest;i++)
{
jsArr[i]="任何东西" ;
}
var jsEnd = new Date().getTime();
document.write("js做完这件事需要" + (jsEnd - jsBegin) + "豪秒<br/>");
</SCRIPT>
<SCRIPT LANGUAGE=vbscript>
dim vbstest : vbstest = 10 * 10000
dim vbsArr() : redim vbsArr(vbstest)
dim vbsBegin : vbsBegin = Timer()
for j =0 to vbstest
vbsArr(j) = "任何东西"
next
dim vbsEnd : vbsEnd = Timer()
document.write "vbs做完这件事需要" & (vbsEnd - vbsBegin) * 1000 & "豪秒"
</SCRIPT>
js做完这件事需要2072豪秒
vbs做完这件事需要320.3125豪秒
var jstest = 50 * 10000 ;
var jsArr = new Array(jstest) ;
var jsBegin = new Date().getTime();
for(i=0;i<jstest;i++)
{
jsArr[i]="任何东西" ;
}
var jsEnd = new Date().getTime();
document.write("js做完这件事需要" + (jsEnd - jsBegin) + "豪秒<br/>");
</SCRIPT>
<SCRIPT LANGUAGE=vbscript>
dim vbstest : vbstest = 50 * 10000
dim vbsArr() : redim vbsArr(vbstest)
dim vbsBegin : vbsBegin = Timer()
for j =0 to vbstest
vbsArr(j) = "任何东西"
next
dim vbsEnd : vbsEnd = Timer()
document.write "vbs做完这件事需要" & (vbsEnd - vbsBegin) * 1000 & "豪秒"
</SCRIPT>js做完这件事需要48720豪秒
vbs做完这件事需要1050.781豪秒
var jstest = 10 * 10000 ;
var jsArr = new Array(jstest) ;
var jsBegin = new Date().getTime();
for(i=0;i<jstest;i++)
{
jsArr[i]="任何东西" ;
}
var jsEnd = new Date().getTime();
document.write("js做完这件事需要" + (jsEnd - jsBegin) + "豪秒<br/>");
</SCRIPT>
<SCRIPT LANGUAGE=vbscript>
dim vbstest : vbstest = 10 * 10000
dim vbsArr() : redim vbsArr(vbstest)
dim vbsBegin : vbsBegin = Timer()
for j =0 to vbstest
vbsArr(j) = "任何东西"
next
dim vbsEnd : vbsEnd = Timer()
document.write "vbs做完这件事需要" & (vbsEnd - vbsBegin) * 1000 & "豪秒<br/>"
</SCRIPT>
<SCRIPT LANGUAGE=javascript>
var js2Dtest = 100 ;
var js2DArray = new Array();
var js2DBegin = new Date().getTime();
for(x=0;x<js2Dtest;x++)
{
js2DArray[x] = new Array();
for(y=0;y<js2Dtest;y++)
{
js2DArray[x][y] = "任何东西" ;
}
}
var js2DEnd = new Date().getTime();
document.write("js做完这件事需要" + (js2DEnd - js2DBegin) + "豪秒<br/>");
</SCRIPT>
<SCRIPT LANGUAGE=vbscript>
dim vbs2Dtest : vb2Dstest = 100
dim vbs2DArr() : redim vbs2DArr(vb2Dstest,vb2Dstest)
dim vbsBegin : vbsBegin = Timer()
for m = 0 to vb2Dstest
for n = 0 to vb2Dstest
vbs2DArr(m,n) = "任何东西"
next
next
dim vbs2DEnd : vbs2DEnd = Timer()
document.write "vbs做完这件事需要" & (vbs2DEnd - vbs2DBegin) * 1000 & "豪秒<br/>"
</SCRIPT>js做完这件事需要2063豪秒
vbs做完这件事需要207.0313豪秒
js做完这件事需要411豪秒
vbs做完这件事需要4.251725E+07豪秒
长见识,,,,,不过还是不太明白javascript 连一维数组也没有,,
那 “Array对象是对创建任何数据类型的数组的支持” 是什么意思呢?