我正在看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
。