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

mynum.length所输出的值不是以0开始算的吗。

 var mynum=new Array(65,90,88,98);

 document.write("数组的长度是:"+  mynum.length );

得出的结果为4.我们看出是以1开始数的,并不是0开始。 难道还有个隐藏数?还是length就是1开始数的呢,那我输出   mynum[mynum.length];这样会不会输出最后一位呢?(不知道能不能输出。= =可能不允许这样写)

正在回答

7 回答

js是你的第一门编程语言吧

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

只有数组为空的时候,length才为0,mynum[mynum.length-1]表示该数组最后一个元素,索引值从0开始,length从1开始

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

额。。。长度是4,但数组的下标是从0开始计数的,也就是长度是4,下标分别是0,1,2,3.

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

长度的计算是从1开始。索引号是从0开始的。比如有三个房间的号码为0号,1号,2号。你说这有几个房间,有三间还是两间。当然是3间房了。0号1号2号不过是房间的地址罢了,(类似于数组的索引号,根据索引号找到该元素),房间的个数就相当于数组的长度length。

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

。。。不知道你是怎么理解的。。4仅仅代表数组里面的个数,里面有四个值那就是4,0开始是指索引,相当于是一个地址指针。mynum.length这个值根本不存在,当然输出undefined。

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

就是在数组没增加值是留出一个空位待写入,mynum[mynum.length]会输出undefined值。


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

Molly喜

mynum[mynum.length]原数组里没有这个索引号的数据,所以返回undefined,“留出空位待写入”这句错误
2017-12-10 回复 有任何疑惑可以回复我~

果然,得出结论。每个数组最后都有一个空的,待写入的值。就是未定义的。但是他是存在且能被mynum.length识别到的存在。可以这么理解吧

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

Molly喜

索引号和数组长度是两个概念啊!索引号从0开始,数组长度从1开始。
2017-12-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

mynum.length所输出的值不是以0开始算的吗。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信