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经典特效---函数计算.rar javascript经典特效---函数计算.rar javascript经典特效---函数计算.rar
JavaScript-Array类型全面解析_.docx
Javascript 设计模式之构造函数模式.zip
JavaScript应用实例-文件夹大小函数.js
JavaScript应用实例-toast替代函数.js
npm i -S javascript-array-matrix 将ArrayMatrix导入到您的项目中: import ArrayMatrix from 'javascript-array-matrix'; 或者 const ArrayMatrix = require('javascript-array-matrix'); 制作矩阵 要创建新...
JavaScript视频教程-4.函数与内置对象
下面小编就为大家带来一篇JavaScript 数组- Array的方法总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JavaScript应用实例-文件夹大小函数(1).js
JavaScript应用实例-autojs常用函数(1).js
JavaScript应用实例-对boundsContains函数的研究(3).js
JavaScript应用实例-1箭头函数和function的this对比.js
冠军罗宾·里卡德(彭博)作者罗宾·里卡德(彭博) 阿什莉·克莱莫(彭博社)概述该建议为Array.prototype引入了以下函数属性: Array.prototype.filled(value, start, end) -> Array Array.prototype.copiedWithin...
is-shared-array-buffer 这个值是JS SharedArrayBuffer吗? 尽管有ES6 Symbol.toStringTag,该模块仍可跨领域/ iframe运行,不依赖于instanceof或可变属性。例子var assert = require ( 'assert' ) ;var ...
javascript工厂模式和构造函数模式创建对象方法解析.docx
eslint-plugin-array-func 数组函数和方法的规则。内容avoid-reverse 例子使用规则prefer-flat-map 例子使用规则prefer-flat 例子使用规则配置array-func/recommended配置使用配置array-func/all配置使用配置执照 ...
JavaScript应用实例-常用函数-小七.js
npm install concat-typed-array 用法 import concatTypedArray from "concat-typed-array" ; concatTypedArray ( Uint8Array , Uint8Array . of ( 1 , 2 ) , Uint8Array . of ( 3 , 4 ) ) ; //=> Uint8Array [1, 2,...
python 13、JAVASCRIPT基础3-1_函数、数组、字符串_Day03_AM.mp4