關于數組的三行五列輸出問題
<!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?求告訴
2017-07-08
你把第二個document輸出語句刪掉就可以了,另外樓上小果與說的也對,可以另外給你的數組Myarry[i][6]賦初值,但是建議把下面的輸出語句刪掉就可以了
2017-07-02
這是一個常見的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。
2017-07-02
你這是三行六列吧?
第二個document.write,沒有j這個變量。
2017-07-02
額,那兩個var不要也行
2017-07-02
<!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>
這樣就行了