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

关于arr.length

关于arr.length

咸鱼_一只 2017-03-06 15:32:47
var arr=['*','##',"***","&&","****","##"];创建数组  arr[7]="**";这一共在数组里定义了7个有效值,为什么arr.length显示的是6<!DOCTYPE  HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>数组</title> <script type="text/javascript">  //创建数组 var  arr = ['*','##',"***","&&","****","##*"]; arr[7]="**";  //显示数组长度  alert("the length of array ="+myarr.length);    //将数组内容输出,完成达到的效果。 document.write(arr[0]+"<br><br>"+arr[7]+"<br><br>"+arr[2]+"<br><br>"+arr[4]); </script> </head> <body> </body> </html>
查看完整描述

1 回答

已采纳
?
慕粉3233872

TA贡献70条经验 获得超29个赞

java中的数组是定长的,无法动态增加长度。如果要扩充数组,只能通过重新定义数组,把旧数组内容拷贝到新数组中。所以arr[7]="**";并没有把值加进去

查看完整回答
反对 回复 2017-03-06
  • 咸鱼_一只
    咸鱼_一只
    但是如果是把arr[7]="**";改成arr[6]="**"的话数组长度会随着+1,是不是只能按序号顺序加的话数组长度才会变化,如果没有顺着加的话会截止到没有值的那个点
  • 慕粉3233872
    慕粉3233872
    抱歉我之前说错了,JavaScript中数组的大小是动态调整的(最多可包含4294967295项,大约43亿项) 。当把一个值放在超出数组大小的位置上时,数组就会重新计算其长度值,即长度值等于最后一项的索引加1。你把第11行的‘my’去掉看看,这里arr.length应该为8的。
  • 咸鱼_一只
    咸鱼_一只
    好久没上了刚看到~试了试真的是这样的,谢谢啦
  • 1 回答
  • 0 关注
  • 1825 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信