如何创建一个函数并传入可变长度参数列表?
我们可以在下面的代码中创建一个函数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 上运行不佳。
We can create a function p
in the following code:
var p = function() { };
if (typeof(console) != 'undefined' && console.log) {
p = function() { console.log(arguments); };
}
but the arguments are passed like an array to console.log
, instead of passed one by one as in
console.log(arguments[0], arguments[1], arguments[2], ...
Is there a way to expand the arguments and pass to console.log like the way above?
Note that if the original code were
var p = function() { };
if (typeof(console) != 'undefined' && console.log) {
p = console.log;
}
then it works well on Firefox and IE 8 but not on Chrome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 Function.apply():
You can use Function.apply():