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

发布于 2024-08-31 04:07:20 字数 610 浏览 3 评论 0原文

我们可以在下面的代码中创建一个函数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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

久伴你 2024-09-07 04:07:20

您可以使用 Function.apply()

console.log.apply(console, arguments);

You can use Function.apply():

console.log.apply(console, arguments);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文