栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

声明JavaScript数组时,“ Array()”和“ []”之间有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

声明JavaScript数组时,“ Array()”和“ []”之间有什么区别?

有所不同,但在该示例中没有区别。

使用更冗长的方法:

new Array()
在参数中确实有一个额外的选择:如果将数字传递给构造函数,则将获得该长度的数组:

x = new Array(5);alert(x.length); // 5

为了说明创建数组的不同方法:

var a = [], // these are the same    b = new Array(),   // a and b are arrays with length 0    c = ['foo', 'bar'],// these are the same    d = new Array('foo', 'bar'),  // c and d are arrays with 2 strings    // these are different:    e = [3]  // e.length == 1, e[0] == 3    f = new Array(3),   // f.length == 3, f[0] == undefined;

另一个区别是,使用时,

newArray()
您可以设置数组的大小,这会影响堆栈的大小。如果您遇到堆栈溢出(Array.push与Array.unshift的性能)(当数组的大小超过堆栈的大小并必须重新创建它时会发生这种情况),这将很有用。因此,实际上,根据使用情况,使用时
newArray()
可以提高性能,因为可以防止发生溢出。

如该答案所指出的,

newArray(5)
实际上不会将五个
undefined
项目添加到数组中。它只是增加了五个项目的空间。请注意,使用
Array
这种方式很难依靠它来
array.length
进行计算。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号