Array
构造函数
由于 Array
的构造函数在如何处理参数时有点模棱两可,因此总是推荐使用数组的字面语法 -[]
- 来创建数组。
[1, 2, 3]; // 结果: [1, 2, 3]
new Array(1, 2, 3); // 结果: [1, 2, 3]
[3]; // 结果: [3]
new Array(3); // 结果: []
new Array('3') // 结果: ['3']
// 译者注:因此下面的代码将会使人很迷惑
new Array(3, 4, 5); // 结果: [3, 4, 5]
new Array(3) // 结果: [],此数组长度为 3
译者注:这里的模棱两可指的是数组的两种构造函数语法
由于只有一个参数传递到构造函数中(译者注:指的是 new Array(3);
这种调用方式),并且这个参数是数字,构造函数会返回一个 length
属性被设置为此参数的空数组。
需要特别注意的是,此时只有 length
属性被设置,真正的数组并没有生成。
译者注:在 Firebug 中,你会看到 [undefined, undefined, undefined]
,这其实是不对的。在上一节有详细的分析。
var arr = new Array(3);
arr[1]; // undefined
1 in arr; // false, 数组还没有生成
这种优先于设置数组长度属性的做法只在少数几种情况下有用,比如需要循环字符串,可以避免for
循环的麻烦。
new Array(count + 1).join(stringToRepeat);
译者注: new Array(3).join('#')
将会返回 ##
结论
应该尽量避免使用数组构造函数创建新数组。推荐使用数组的字面语法。它们更加短小和简洁,因此增加了代码的可读性。
分享到:
相关推荐
构造函数模式是JavaScript中的一种重要设计模式,用于创建对象。本文将深入探讨构造函数模式及其应用。 构造函数模式的核心在于使用函数来创建具有相似属性和方法的对象。在JavaScript中,函数可以作为构造函数来...
比如,`Array.prototype.map`就是一个高阶函数,它接受一个函数并应用于数组的每个元素,生成新的数组。 9. **事件处理函数**:在网页特效中,JavaScript函数经常被用作事件处理器,比如点击按钮触发的动画效果或...
npm install concat-typed-array 用法 import concatTypedArray from "concat-typed-array" ; concatTypedArray ( Uint8Array , Uint8Array . of ( 1 , 2 ) , Uint8Array . of ( 3 , 4 ) ) ; //=> Uint8Array [1, 2,...
### JavaScript工厂模式与构造函数模式创建对象方法解析 #### 一、工厂模式 在JavaScript中,工厂模式是一种常用的设计模式,用于封装创建对象的过程。它通过一个函数来创建具有相似特性的多个对象实例,这些对象...
JavaScript应用实例-文件夹大小函数.js
JavaScript应用实例-toast替代函数.js
在本课程"04 - Array Cardio Day 1"中,我们将深入探讨JavaScript中的数组操作,这是JavaScript编程中不可或缺的一部分。数组是一种数据结构,允许我们存储和处理多个值在一个单一的变量中。JavaScript提供了丰富的...
JavaScript应用实例-文件夹大小函数(1).js
JavaScript应用实例-autojs常用函数(1).js
这个库的核心功能在于其内部实现的检查逻辑,它会遍历所有的TypedArray构造函数,并利用JavaScript的`constructor`属性来确定对象是否由这些构造函数创建。这样,无论传入的是哪一种具体的TypedArray类型,都能正确...
### 构造函数以及原型基础 ...通过以上介绍可以看出,理解构造函数和原型的基本概念及其使用方式对于高效地开发JavaScript程序至关重要。这些基础知识不仅帮助我们更好地组织代码,还能有效地管理内存资源。
在深入讨论构造函数和实例之前,首先需要了解JavaScript中构造函数的概念。构造函数是一种特殊函数,它主要用于创建和初始化一个新对象。与普通函数不同的是,构造函数通常在使用new操作符时被调用。在JavaScript中...
JavaScript应用实例-对boundsContains函数的研究(3).js
- 对象创建:通过字面量语法或构造函数创建对象。 - 原型链:理解原型和__proto__,以及如何通过原型实现继承。 - this关键字:在不同上下文中this的指向。 3. **数组与集合**: - 数组方法:如push、pop、...
javascript js_leetcode题解之81-search-in-rotated-sorted-array-ii.js
javascript js_leetcode题解之80-remove-duplicates-from-sorted-array-ii.js
在JavaScript中,可以使用多种方法创建新对象,包括使用对象字面量、构造函数以及ES6中引入的类。 - **对象字面量**:通过直接写明属性和值来创建对象。 - **构造函数**:定义一个函数并在其中设置对象的属性和方法...
### JavaScript对象、原型、属性、构造函数、扩展、JSON #### JavaScript对象类型 JavaScript是一种广泛使用的脚本语言,尤其在Web开发中占据了重要的地位。它支持多种对象类型,包括内部对象、基于类的对象以及...
javascript js_leetcode题解之153-find-minimum-in-rotated-sorted-array.js
JavaScript应用实例-常用函数-小七.js