慕Angela
2017-06-24 17:32
<script type="text/javascript">
var myarr=new Array();//声明一维数组
for(var i=0;i<3;i++){//一维长度3
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+"]的值:"+myarr[i][j]+"<br>");
}
//不可以在这写document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
会出现未定义,为什么?
}
</script>
document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");可以理解为写在j的for循环外读取不到j的值,
因为j的作用域只在第二个循环里面
document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>"); 应该写在第二个循环里面去
这个没错,输出来之后是这种样子的:myarr[0][0]的值:0。+是连接符,“”中间是要输出的内容,出现undefined应该是逻辑问题。
myarr["+i+"]["+j+"]这个是错的吧
JavaScript进阶篇
468781 学习 · 22507 问题
相似问题