为了账号安全,请及时绑定邮箱和手机立即绑定

为什么执行不了?

用按钮的方法就无法将数组显示,这是为什么呢?

正在回答

5 回答

document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>")

你输出的不是一个循环,只是请求i=2 j=3的数据。

1 回复 有任何疑惑可以回复我~
#1

慕工程9285452 提问者

刚开始我不太能理解您的意思,但是多看几次我感觉我能懂一点,但我不明白为什么“document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>")输出的不是一个循环,只是请求i=2 j=3的数据。”如果我想让他输出一个循环能有办法实现吗?为什么如果用我注释掉的那一条又能循环显示呢?谢谢~
2015-08-19 回复 有任何疑惑可以回复我~
#2

Y_du 回复 慕工程9285452 提问者

因为你请求输出的时候for循环已经被执行了,i j的值已经固定了。如果想循环得在你调用的函数里面写for,在for里面循环输出。
2015-08-20 回复 有任何疑惑可以回复我~
#3

慕工程9285452 提问者

经过您指点我已经改好代码,非常感谢!
2015-08-21 回复 有任何疑惑可以回复我~

这里的i,j 是局部变量,只在for循环里起作用,而你的function show()的i,j并没有声明和赋值。

0 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>二维数组</title>
<script type="text/javascript">
function show()
{
    var myarr=new Array();
    for(var i=0;i<2;i++)
    {
        myarr[i]=new Array();
        for(var j=0;j<3;j++)
        {
            myarr[i][j]=i*j;              
    
        document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
        
        }
    }
}
</script>
</head>

<body>
<input type="button" value="点击显示二维数组" onclick="show()"
</body>
</html>


1 回复 有任何疑惑可以回复我~

你的数组结构是myarr[Array[3],Array[3]].也就是说你i的最大值是1,而你请求的i=2.已经超出myarr的最大长度了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么执行不了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信