我正在看newboston的“入门JavaScript教程-28-数组”,发现他通过使用new Array()方法创建了一个数组。
我的第一个想法是Array()就像一个构造函数,它可以接受大量(如果不是无限量的)参数。
我的问题是,如何使这样的构造器可以接受无限数量的参数?
您有成千上万的构造函数吗? (那是没人愿意做的工作。)

这是一个例子:

var names = new Array('John', 'Mary', 'Thomas', 'Sara');


在这里,我创建了一个仅包含4个参数的数组,但是如果我是对的,我能够在该数组中存储数千个名称。
再次,您如何使这样的构造器可以接受很多参数?

先感谢您。

最佳答案

function logArgs() {
    console.log(arguments);
}
logArgs(1, 2, 3); //=> [1, 2, 3]


arguments是一个类似数组的对象,包含传递给函数的所有参数。

当然,Array构造函数很可能是本地实现的,但这是您可以自己创建类似函数/构造函数的方式。

有关更多信息,请参见the MDN doc page on arguments

10-04 16:12
查看更多