Страницы

Поиск по вопросам

пятница, 12 апреля 2019 г.

Функция с бесконечным количеством параметров

В JavaScript'e есть функция console.log(), в которую можно передать много параметров. В моём проекте есть нечто подобное:
var MyObj = { log: function() { if (ENV != 'dev') { return; } //TODO more actions with console.log } }
Есть функция, которая будет принимать параметры и передавать их в console.log() Но как достичь её универсальности, если вызовы будут, например, такими:
MyObj.log("var1=%s,var2=%s,var3=%s", var1, var2, var3); MyObj.log("var1=%s,var2=%s,var3=%s,var4=%s,var5=%s", var1, var2, var3, var4, var5);
Как правильно передать в console.log() N аргументов, чтобы при этом не возникало undefined?


Ответ

Если достаточно просто вывести все аргументы на консоль, то:
ENV = "dev"; var MyObj = { log: function() { if (ENV != 'dev') { return; } console.log.apply(console, arguments); } } MyObj.log(1, 2, 3, 4, 5);
Если нужно именно хитрое форматирование - то вам придется его написать вручную.

Комментариев нет:

Отправить комментарий