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

为什么在申明二维时,加个var 就无法输出结果了呢?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>二维数组</title>
<script type="text/javascript">
var my=new Array(); //先声明一维
for (var i=0;i<3;i++)   //一维长度为3
{
      var  my[i]=new Array(); //再声明二维
    for(var j=0;j<6;j++)       //二维长度为6  
    {
        my[i][j]=i*j;         // 赋值,每个数组元素的值
        document.write(my[i][j]);
    }
}
</script>
</head>

<body>
</body>
</html>


提问者:qq_十一_1 2015-12-02 21:13

个回答

  • 蛋白
    2015-12-03 09:26:14

    my是一个数组,my[i]是一个数组元素,你再把它当做变量名当然非法.

  • roysatm
    2015-12-02 22:28:04

    这个问题其实很有意思,我们先来看这个例子

     var my=12;

    var my="ok";

    document.write(my);

    不会报错,结果输出是ok;其实JavaScript中允许变量名覆盖。我们再来看看你这个问题var  my[i]=new Array(); 

    这个行代码是错误的,my[i](或者my[1])被编译器解析为是错误的命名,所以就会出错。