请问这个代码哪里错了,为什么最后会出现undifaindvar mynum=new Array(70,80,66,90,50,100,89); var i; for(i=0;i<=mynum.length;i++) { if(mynum[i]<60) { document.write("成绩不及格,不输出!"+"<br>"); continue; } document.write("成绩"+mynum[i]+"及格,输出!"+"<br/>"); }
13 回答
已采纳
MarlboroKay
TA贡献189条经验 获得超236个赞
首先你的数组长度是 length = 7 ,但是数组中的下标是0,1,2,3,4,5,6。
当你的这段代码执行时:
for(i=0;i<=mynum.length;i++)
当i = 7 时,满足条件走进循环,但是没有满足条件的数组下标,即mynum[7]不存在
所以提示,undefined。
应该将for循环的条件修改为:
for(i=0;i<mynum.length;i++)
望采纳,谢谢。
MarlboroKay
TA贡献189条经验 获得超236个赞
首先你的数组长度是 length = 7 ,但是数组中的下标是0,1,2,3,4,5,6。
当你的这段代码执行时:
for(i=0;i<=mynum.length;i++)
当i = 7 时,满足条件走进循环,但是没有满足条件的数组下标,即mynum[7]不存在
所以提示,undefined。
望采纳,谢谢。
stone310
TA贡献361条经验 获得超191个赞
for(i=0;i<=mynum.length;i++)
这里不能用<=,用<,因为如果i=mynum.length,那么mynum[i]这个值是不存在的,所以提示undefined
添加回答
举报
0/150
提交
取消