问答详情
源自:3-7 二维数组

为什么第二种输出就是undefined

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>二维数组</title>
<script type="text/javascript">
    var myarr = new Array();
    //1
    for(var i=0;i<3;i++){
        myarr[i] = new Array();
        for(var j=0;j<6;j++){
            myarr[i][j]=i*j;
            document.write(myarr[i][j]);
        }
        document.write("<br />");
    }
    //2
     for(var i=0;i<3;i++){
        myarr[i] = new Array();
        for(var j=0;j<6;j++){
            document.write(myarr[i][j]);
        }
        document.write("<br />");
    }
</script>
</head>

<body>
</body>
</html>

结果

000000
012345
0246810
undefinedundefinedundefinedundefinedundefinedundefined
undefinedundefinedundefinedundefinedundefinedundefined
undefinedundefinedundefinedundefinedundefinedundefined

提问者:阿米巴丶 2017-02-17 10:57

个回答

  • 慕雪1536731
    2017-02-17 11:22:28
    已采纳

    没有赋值

  • coder佳传_David
    2017-02-19 10:37:44

    第二种写法  你又重新声明了一次数组    并且没有给他赋值   所以输出的会是undefined  如果把重新声明数组的那句“myarr[i] = new Array();”删掉就可以了。

  • 慕粉6669242
    2017-02-17 11:26:12

    第二种写法,你没有给 myarr[i][j] 赋值