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

未定义undefined

<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>


正在回答

5 回答

document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");可以理解为写在j的for循环外读取不到j的值,

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

因为j的作用域只在第二个循环里面

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

document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");  应该写在第二个循环里面去

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

这个没错,输出来之后是这种样子的:myarr[0][0]的值:0。+是连接符,“”中间是要输出的内容,出现undefined应该是逻辑问题。

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

myarr["+i+"]["+j+"]这个是错的吧

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       469067    人
  • 解答问题       22582    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

未定义undefined

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号