2016-01-13 4 views
0

Так как пользователь C, я очень люблю использовать printf. Теперь, когда я делаю js-приложения, я вынужден использовать console.log(). Вы можете использовать console.log("User %s has %d points", userName, userPoints);, но я хочу создать свою собственную функцию, чтобы выполнить эту работу, потому что я вносил несколько изменений. Поэтому я хочу создать функцию, которая принимает несколько параметров, и распечатывать их соответствующим образом.Javascript, как передавать mutliple параметры

Пример того, что я хочу сделать

function(parm1,parm2,parm3...){ 
    //Stuff 
} 
console.log("number:%d text:%s"par1,par2); 
+0

http://stackoverflow.com/questions/610406/javascript-equivalent-to-printf-string-format – BLUEPIXY

+0

@BLUEPIXY, omg, я не могу поверить, что я просто не искал JavaScript весной. Благодаря !!! – John

ответ

1

использование arguments object. как этот

function p(){ 
    for(var i = 0; i < arguments.length; ++i) 
     console.log(arguments[i]); 
} 

p(1,2,3); 
+0

Yup this works. Я пытаюсь превратить его в свою собственную инструкцию printf перед загрузкой. https://github.com/alexei/sprintf.js – John

+0

Зачем вам это делать, если оно первоначально поддерживается браузером (например, Google Chrome)? –

+0

Однако, я хотел бы создать свой собственный метод sprinf, не используя код других людей. – John

1

журнала консоли может принимать мульти аргументы, так что вы можете использовать как:

var a = function(parm1,parm2,parm3,param4,param5){ 
 
     console.log(parm1,parm2,parm3); 
 
    } 
 
    
 
    a(1,2,3)

вы могли бы запустить фрагменты и см. в своем инструменте dev.

+0

Извините, я имел в виду, я хотел создать что-то, что я могу сделать с этим. console.log («число:% d текст:% s» par1, par2); – John

2

Просто используйте реализацию по умолчанию console.log(), потому что делает поддержку несколько аргументов, как это описано в reference guide of the Mozilla Developer Network и в reference guide of Google Chrome.

Ваш пример не работает также с console.log (взято из official developer page of Google Chrome):

console.log("User %s has %d points", userName, userPoints); 
+0

Да, но я не могу делать такие вещи, как console.log («число:% d текст:% s» par1, par2); – John

+0

Вы можете. См. Мой обновленный ответ. –

+0

Awesome. спасибо BLUEPIXY также дал хороший ответ, я пытался воссоздать свой собственный метод console.log, но этот метод работает. Спасибо, мне жаль, что у меня не было двух ответов. – John

0

Вы можете использовать подобный вывод

console.log('param1 = ' + param1 = ' param2 = ' + param2); 

Также есть режим отладки в большинстве браузеров, где вы можете использовать точки останова.

+0

Да, я знаю, что смогу это сделать. Я не хочу так поступать. Я хочу сделать это как printf, console.log («число:% d текст:% s» par1, par2); – John

Смежные вопросы