Как создать функцию и передать список аргументов переменной длины? - PullRequest
2 голосов
/ 06 мая 2010

Мы можем создать функцию 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.

1 Ответ

8 голосов
/ 06 мая 2010

Вы можете использовать Function.apply () :

console.log.apply(console, arguments);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...