如何创建一个函数并传入可变长度参数列表?

如何创建一个函数并传入可变长度参数列表?

问题描述:

我们可以在下面的代码创建一个函数p如何创建一个函数并传入可变长度参数列表?

var p = function() { }; 
if (typeof(console) != 'undefined' && console.log) { 
    p = function() { console.log(arguments); }; 
} 

不过参数是由一个通过像数组console.log,而不是通过一个在

console.log(arguments[0], arguments[1], arguments[2], ... 

是否有办法扩展参数并像上面的方式传递给console.log?

注意如果原始代码是

var p = function() { }; 
if (typeof(console) != 'undefined' && console.log) { 
    p = console.log; 
} 

那么它运作良好,在Firefox和IE 8,但无法在Chrome。

您可以使用Function.apply()

console.log.apply(console, arguments);