for循环为什么不显示arr[7]呢?

来源:3-8 编程练习

麓鹿不迷路

2018-05-06 17:30

为什么不显示arr[7]呢? 

 var myarr = ['*','##','***','&&','****','##*']; 

 myarr[7]="**"; 

 var length = myarr.length; 

 document.write("数组长度为:"+length+"<br>");

 //将数组内容输出,完成达到的效果。

    for(var i=0;i<length;i++)    { 

        if(myarr[i][0]=="*") 

            document.write(myarr[i]+"<br>");

    }

写回答 关注

2回答

  • 慕粉3917320
    2018-05-06 19:59:32
    已采纳

    个人感觉是因为数组中不存在myarr[6]这个值,编译器可能读取到myarr[5]就终止了。js是可以在定长的数组后添加数据,从而改变数组的长度,但是数组可能需要连续定义吧,如果没有定义的数据都默认为undefine,那么数组的长度岂不是可以随意改变。

  • 麓鹿不迷路
    2018-05-06 21:15:14

    哦哦,应该可以这么理解,谢谢。那for(var i in myarr)是什么意思呢?是判断当i在myarry里面?那 i 是1、2、3..还是每个值呢?看后面用到myarr[i][0],那应该是把i看作了1、2、3..这样的数?

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题