javascript数组一些概念

数组元素读和写:

数组是对象的特殊形式,可以为其创建任意名字的属性。

索引都是属性名,但只有在0~2^32-2之间的整数属性名才是索引。

如果使用的属性是数组的索引,数组的特殊行为就是将根据需要更新他们的length属性值。

注意:索引是负数或非整数,索引中数值转换为字符串。

            非负整数的字符串,就当作数组索引,而非对象属性。

稀疏数组:

<span style="font-size:18px;"><span style="font-family:Microsoft YaHei;font-size:18px;">a = new Array(5)    
a = [];
a[1000] = 0;</span></span>
        数组直接量中省略值时不会创建稀疏数组。省略的元素在数组中是存在的,其值为undefined。

<span style="font-size:18px;"><span style="font-family:Microsoft YaHei;">var a1 = [,,,]                               //a1[undefined,undefined,undefined]
var a2 = new Array(3)               //该数组根本没有元素</span></span>
         省略数组直接量中的值时([1,,3]),这时所得的数组也是稀疏数组,省略掉的值是不存在的。

<span style="font-family:Microsoft YaHei;">var a1 = [,]                                //此数组没有元素,长度是1.</span>

数组的长度:

        在数组中,找不到一个元素的索引值大于或等于它的长度

        两个特殊行为:索引i大于或等于现有数组的长度时,length属性的值将设置为i+1。

                                设置length属性为一个小于当前长度非负整数n时,当前数组中那些索引值大于或等于n的元素                                   将从中删除。

        可以用object.defineProperty()让数组的length属性变成只读的。

<span style="font-size:18px;"><span style="font-family:Microsoft YaHei;">a = [1,2,3]
Object.defineProperty(a,"length",
                                  {writable:false})              //让length属性只读
a.length = 0                                                     //a不会改变</span></span>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值