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

在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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.在C/C++中实现本地方法 生成C/C++头文件之后,你就需要写头文件对应的本地方法。注意:所有的本地方法的第...
    JayQiu阅读 2,450评论 0 3
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,912评论 2 9
  • JavaScript语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 602评论 0 3
  • array 构造器 通常使用字面量去声明 以下例外 array更为简洁 未使用new 浏览器会做如下操作 Arr...
    summer_1874阅读 326评论 0 0
  • 我曾是一个争胜好强,从不服输的人。年轻时无论干什么,不干则已,干就一定要干出个名堂来。 我做人干事的原则是:靠自己...
    蓝天白云215阅读 522评论 8 9