慕粉1469604703
2016-08-30 16:29
<!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<6;j++)
{
myarr[i][j]=i*j;
}
document.write(myarr[i][j])
}
</script>
</head>
<body>
</body>
</html>
循环部分有问题,document.write(myarr[i][j])应该放到第二个for循环内部,否则下标j没有定义,具体如下:
for(var i=0;i<3;i++)
{myarr[i]=new Array()
for(var j=0;j<6;j++)
{
myarr[i][j]=i*j;
document.write(myarr[i][j])//应该在这里
}
// document.write(myarr[i][j])
}
在你的循环体内,你循环的时候,第一项、第二项的没有初始值即undefined,所以每次拼接字符串的时候前面都有undefined。不知道说的清楚吗,希望能帮到你
for(var i=0;i<3;i++)
{myarr[i]=new Array()
for(var j=0;j<6;j++)
{
myarr[i][j]=i*j;
document.write(myarr[i][j])
}
}
document.write(myarr[i][j]),应该写在第二个循环里面即j循环里面
因为你把输出放进了第一个循环体里,每次输出的是myarr[0][6],myarr[1][6],这当然没有值了
你把输出放进第二个循环体里再看看
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题