Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 新数组语法,多参数_Javascript - Fatal编程技术网

Javascript 新数组语法,多参数

Javascript 新数组语法,多参数,javascript,Javascript,使用括号表示法,可以使用零或多个值初始化数组: var a= []; //length: 0, no items var a= [1]; //length: 1, items: 1 var a= [1,2]; //length: 2, items: 1,2 var a= new Array(0); //length: 0, no items var a= new Array(1); //length: 1, it

使用括号表示法,可以使用零或多个值初始化数组:

var a= [];              //length: 0, no items
var a= [1];             //length: 1, items: 1
var a= [1,2];           //length: 2, items: 1,2
var a= new Array(0);    //length: 0, no items
var a= new Array(1);    //length: 1, items: undefined
var a= new Array(1,2);  //length: 2, items: 1,2
使用
new Array()
,可以使用零或两个或多个值初始化数组:

var a= [];              //length: 0, no items
var a= [1];             //length: 1, items: 1
var a= [1,2];           //length: 2, items: 1,2
var a= new Array(0);    //length: 0, no items
var a= new Array(1);    //length: 1, items: undefined
var a= new Array(1,2);  //length: 2, items: 1,2
关于多参数语法,Flanagan在《JavaScript:最终指南》中写道:

使用数组文字几乎总是比使用 数组()构造函数

他没有提供任何多参数语法更简单的例子,我想不出任何例子。但“几乎总是”一词意味着可能存在这样的情况

你能想到什么吗


请注意,我理解这两种方法之间的区别。我的问题是,为什么要将多参数语法用于
new Array()
?Flanagan暗示这可能是有原因的。

您唯一应该对任何参数使用
new Array()
的时候是希望创建指定长度的(空)数组的单参数情况

当具有任意数量的参数(包括零)的
new Array()
优于数组文字时,没有其他情况


实际上,应该尽可能地使用数组文字,因为虽然可以覆盖函数
array()
,使其执行其他操作(可能是恶意的),但不可能破坏数组文字语法。

简单一点,他可能指的是它更短、更易于编写,更明确,您可能会遇到以下问题:

var test = new Array(1) //Empty array 
var test2 = [1] //not empty

我不认为他的意思是在某些情况下使用多参数语法更简单,但在某些情况下(我只能想到一种情况),使用数组构造函数更简单:创建大小为N的数组。

@nicael。。不是重复的也许这只是一个“转义短语”(这是一个词吗?),因为他不想声称他知道每一种情况。@FelixKling,我猜你是对的。我在网上找到了这个页面:向下滚动到第二个要点,你会看到引号特别提到了多参数语法。问题不是它有什么不同,使用数组文字几乎总是比使用数组()构造函数更简单,使用多个参数?当使用多个参数构造时,使用
array()
,有哪些有用的情况,不仅仅是在使用单个parameter@NoDownvotesPlz没有任何-见澄清。这是我的假设,除非有人提出相反的例子,否则我接受这个答案。谢谢,但作者在写作时特别提到了多参数语法,“几乎总是比较简单。”