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

为什么我在script里面输出数组的一个数不显示呢?把输出放在body里面就能显示呢?求解


<!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();

for(var i=0;i++;i<3){

    var myarr[i]=new Array();

    for(var j=0;j++;j<5){

        myarr[i][j]=i*j;

    }

}

</script>

</head>

<body>

document.write(myarr[2][5]);

</body>

</html>


正在回答

4 回答

<!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();
for(var i=0;i<3;i++){
    myarr[i]=new Array();
    for(var j=0;j<5;j++){
        myarr[i][j]=i*j;
        document.write(myarr);
    }
}


</script>
</head>

<body>
</body>
</html>


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

实际操作后发现,mar人[i]不用var声明就ok了,myarr[i]这个是已经存在的,不用var声明了

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

suBJuly 提问者

对对对,发现了,真的是细节呀
2017-04-19 回复 有任何疑惑可以回复我~

你的一重循环也就是第一个数字是在0到2之前,但是不包括2,同理第2重循环第 2个数字在0到5之前,不包括5,也就是说-myarr【(只能是0,1,2)】【只能是0,1,2,3,4】,而你输出myarr[2][5],很显然数组里面找不到

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

suBJuly 提问者

这个我知道了。是打错了。还有一个错误就是for里面的次序也打错了。后来这些我都改过来了,可是还是不能输出,为啥
2017-04-19 回复 有任何疑惑可以回复我~

数组下标越界 myarr【2】【4】

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

suBJuly 提问者

这个我知道了。打错了。还有一个地方也写错了,就是for循环里面的位置,我也改掉了。但是还是不能显示数组,你知道什么回事吗?
2017-04-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我在script里面输出数组的一个数不显示呢?把输出放在body里面就能显示呢?求解

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