javascript 中只有一维数组没有二维 多维数组要是想定义二维数组只能模拟
var myArray = new Array(new Array(), new Array(), new Array(), ...);
其实这是一个一维数组,里边的每一个元素又是一个数组。调用这个“二维数组”的元素时:myArray[2][3] = ...;

解决方案 »

  1.   

    javascript 连一维数组也没有
    实验下面的代码
    <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豪秒
      

  2.   

    <SCRIPT LANGUAGE=javascript>
    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豪秒
      

  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  & "豪秒<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豪秒
      

  4.   

    加收藏夹里先..................
    长见识,,,,,不过还是不太明白javascript 连一维数组也没有,,
    那 “Array对象是对创建任何数据类型的数组的支持” 是什么意思呢?
      

  5.   

    Array对象 和c语言里面的数组不一样,是对象,系统开销大,估计是这个原因。