Jak Mogę dodać zmienną do konsoli.log?

Robię prostą grę w JavaScript, ale w historii muszę powiedzieć nazwę graczy. to co mam do tej pory to:

var name = prompt("what is your name?");

console.log("story" name "story);

Jak zrobić drugą linijkę? albo mogę to zrobić w inny sposób. Czy można mieć 2 console.log(); na 1 linii w konsoli?

Author: Ian, 2013-05-17

9 answers

Następnie użyj +, aby połączyć stirngs:

console.log("story " + name + " story");
 57
Author: Joseph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-01 03:37:28

console.log pobiera wiele argumentów, więc po prostu użyj:

console.log("story", name, "story");

Jeśli Nazwa jest object lub array, użycie wielu argumentów jest lepsze niż konkatenacja. Jeśli połączysz object lub array w łańcuch znaków, po prostu zarejestrujesz Typ, A Nie zawartość zmiennej.

Ale jeśli Nazwa jest tylko prymitywnym typem, to wiele argumentów działa tak samo jak konkatenacja.

 54
Author: Coin_op,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-17 21:02:30

Możesz użyć innej metody konsoli:

var name = prompt("what is your name?");
console.log(`story ${name} story`);
 23
Author: Sanjib Debnath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-26 05:56:15

Podczas korzystania z ES6 możesz również to zrobić:

var name = prompt("what is your name?");
console.log(`story ${name} story`);

Uwaga: Aby to zrobić, musisz użyć backsticków ` zamiast "" lub".

 13
Author: EinArzt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-23 15:07:05

Istnieje kilka sposobów pocieszenia zmiennej w ciągu znaków.

Metoda 1:

console.log("story", name, "story");

Korzyść: jeśli nazwa jest obiektem JSON, nie zostanie wydrukowana jako "story" [object Object] "story"

Metoda 2:

console.log("story " + name + " story");

Metoda 3: przy użyciu ES6, jak wspomniano powyżej

console.log(`story ${name} story`);

Korzyść: brak potrzeby dodatkowego, lub +

Metoda 4:

console.log('story %s story',name);

Korzyść: ciąg znaków staje się bardziej czytelny.

 11
Author: mannutech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-14 12:09:04

Możesz przekazać wiele args do logu:

console.log("story", name, "story");
 6
Author: Lyn Headley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-17 03:29:34

To zależy, czego chcesz.

console.log("story "+name+" story") czy połączy łańcuchy razem i to wydrukuje. Dla mnie używam tego, ponieważ łatwiej jest zobaczyć, co się dzieje.

Użycie console.log("story",name,"story") jest podobne do konkatenacji, jednak wydaje się uruchamiać coś takiego:

 var text = ["story", name, "story"];
 console.log(text.join(" "));

To przesunięcie wszystkich elementów w tablicy razem, oddzielonych spacją: .join(" ")

 2
Author: Bluedog111,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-01 06:39:10

Zarówno console.log("story" + name + "story") jak i console.log("story", name, "story") działa dobrze, jak wspomniano we wcześniejszych odpowiedziach.

Nadal będę sugerował posiadanie nawyku console.log("story", name, "story"), ponieważ przy próbie wydrukowania zawartości obiektu, jak obiekt json, posiadanie "story" + objectVariable + "story" przekonwertuje go na string.

To będzie miało wyjście takie jak: "story" [object Object] "story".

To tylko dobra praktyka.
 1
Author: Sagar Kulkarni,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-25 12:42:58

Możesz użyć odwrotnego ukośnika, aby dołączyć zarówno historię, jak i nazwę gracza w jednej linii.

Var name=prompt("jak masz na imię?"); konsola.log ("story" \ name\ "story");

 -1
Author: kimxons,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-17 08:59:35