javascript数组一些概念

来源:互联网 发布:收集区域手机号码软件 编辑:程序博客网 时间:2024/06/05 07:41
数组元素读和写:

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

索引都是属性名,但只有在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>



0 0
原创粉丝点击