美文网首页
内置对象——可索引的集合对象Array

内置对象——可索引的集合对象Array

作者: ChrisFang | 来源:发表于2019-01-18 17:04 被阅读0次

    在Javascript中Array是用于构造数组的全局对象,数组是类似于列表的高阶对象。

    语法:
    ```
    [element0,element1, ...,elementN]
    new Array(element0,element1[, ...[,elementN]])
    new Array(arrayLength)
    Array(element0,element1[, ...[,elementN]])
    Array(arrayLength)
    ```
    使用Array() 于new Array()两种语法有什么区别没?实际上,并没有影响,这得益于Array构造器内部对this指针的判断,ELS5_HTML规范是这么说的:

    When Array is called as a function rather than as a constructor, it creates and initialises a new Array object. Thus the function call Array(…) is equivalent to the object creation expression new Array(…) with the same arguments.

    参数:

    elementN
    Array 构造器会根据给定的元素创建一个 JavaScript 数组,但是当仅有一个参数且为数字时除外(详见下面的 arrayLength参数)。注意,后面这种情况仅适用于用 Array 构造器创建数组,而不适用于用方括号创建的数组字面量。

    arrayLength
    一个范围在 0 到 2^{32}  之间的整数,此时将返回一个 length 的值等于 arrayLength 的数组对象(言外之意就是该数组此时并没有包含任何实际的元素,不能理所当然地认为它包含 arrayLength 个值为 undefined的元素)。如果传入的参数不是有效值,则会抛出 RangeError 异常。

    var arr = new Array(Math.pow(2,32));//报错Invalid array length

    为什么呢,无符号int型的最大长度为2的32次方-1
    为什么是2的32次方-1整型为4个字节,一个字节8,即32位,本来第一位为符号位,无符号整型就从第一位开始计数了,所以范围为0到2的32次方-1

    相关文章

      网友评论

          本文标题:内置对象——可索引的集合对象Array

          本文链接:https://www.haomeiwen.com/subject/qiyndqtx.html