慕粉3484744
2017-01-14 21:59
开始不是说数组长度(length)的上下限分别是0和length-1嘛?那为何这个数组mynum的长度不应该是(length-1)3嘛?,而我在里面加上mynum[4]:undefined; 这种错误麻烦改一改,误人子弟啊!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>数组长度</title> <script language="javascript"> var mynum=new Array(65,90,88,98); document.write("数组的长度是:"+ mynum.length+mynum[0]+mynum[1]+mynum[4] ); </script> </head> <body> </body> </html>
。。。那啥,评论竟然不让删了,是我看错了,回答有点不扣题。。。你的代码数组元素是4个,对应的是0,1,2,3。所以4并没有值,当然会显示undefined。然后上条回答应该是array[n],写成小括号了,手残。。。
应该是索引号的上线是length-1吧,索引号和length了解清楚就行了
。。。简单说就是,数组array中有5个元素:a,b,c,d,e,对应的是array(0),array(1),array(2),array(3),array(4),所以上下标是0跟4。引用原文:“Length属性表示数组的长度,即数组中元素的个数。”length-1指上标,length是长度,元素的个数,是5,然后-1是4.
数组的长度是4,但是数组的元素是从下标[0]开始的,所以数组下标的的上下限是0和数组的长度length-1,
简单讲就是长度length是从1开始数,而数组的下标是从0开始数所以比长度length少一个了length-1
mynum[0]=65 mynum[1]=90 mynum[2]=88
mynum[3]=98 但是mynum[4]没有,就会显示undefined,这种情况叫作下标越界
长度说的是里面元素的个数,比如4个数;length-1是上限值,不是长度。上下限是0和3,所以长度是4。我觉得是这样。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题