具有无限参数的构造函数是如何制作的?
How is a constructor with infinite arguments made?
我在看 thenewboston "Beginner JavaScript Tutorial - 28 - Arrays" 看到他使用 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
。
无论如何,在一个数组中传递所有参数是一种很好的做法。并会解决您的问题
我在看 thenewboston "Beginner JavaScript Tutorial - 28 - Arrays" 看到他使用 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
。
无论如何,在一个数组中传递所有参数是一种很好的做法。并会解决您的问题