亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于數組的三行五列輸出問題

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>二維數組</title>
<script type="text/javascript">
?Myarry=new Array();

for( i=0;i<3;i++){
??? Myarry[i]=new Array();
??? for(j=0;j<6;j++)
??? {Myarry[i][j]=i*j;
? document.write(Myarry[i][j]+"</br>");
??? }
? document.write(Myarry[i][j]+"</br>");
}

</script>
</head>

<body>
</body>
</html>

結果:

0
0
0
0
0
0
undefined
0
1
2
3
4
5
undefined
0
2
4
6
8
10
undefined

不用var定義就是想變成全局變量,為什么還是undefined?求告訴

正在回答

5 回答

你把第二個document輸出語句刪掉就可以了,另外樓上小果與說的也對,可以另外給你的數組Myarry[i][6]賦初值,但是建議把下面的輸出語句刪掉就可以了

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

這是一個常見的for循環問題。

結果出現在的undefined全部都是內部的for(j=0;j<6;j++)循環之后那個document.write(Myarry[i][j]),原因是:

在for(j=0;j<6;j++)循環體執行完之后,最后一步需要執行j++,即循環執行完畢之后j的值是6,所以后面那個document.write(Myarry[i][j])就等同于:document.write(Myarry[i][6]),而前面沒在給這個數組項賦值(最多只賦值到Myarry[i][5]),所以輸出結果就是undefined。

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

你這是三行六列吧?

第二個document.write,沒有j這個變量。

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

額,那兩個var不要也行

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

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>二維數組</title>

<script type="text/javascript">

?Myarry=new Array();

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

? ? Myarry[i]=new Array();

? ? for(var j=0;j<6;j++)

? ? {Myarry[i][j]=i*j;

? document.write(Myarry[i][j]);

? ? }

? document.write("</br>");

}

</script>

</head>

<body>

</body>

</html>

這樣就行了

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

關于數組的三行五列輸出問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號