Robię prostą grę w JavaScript, ale w historii potrzebuję, aby podać imiona graczy. więc do tej pory mam:
var name = prompt("what is your name?");
console.log("story" name "story);
jak mam zrobić drugą linię? albo jest inny sposób, w jaki mógłbym to zrobić. Czy można mieć console.log();
w konsoli linię 2 na 1?
javascript
console.log
Bradley McInerney
źródło
źródło
Odpowiedzi:
Następnie użyj,
+
aby połączyć ciągi:console.log("story " + name + " story");
źródło
console.log
przyjmuje wiele argumentów, więc po prostu użyj:console.log("story", name, "story");
Jeśli nazwa to
object
lub a,array
to użycie wielu argumentów jest lepsze niż konkatenacja. Jeśli łączyszobject
lubarray
w łańcuch, po prostu rejestrujesz typ, a nie zawartość zmiennej.Ale jeśli nazwa jest tylko typem pierwotnym, wiele argumentów działa tak samo jak konkatenacja.
źródło
console.log('story %s story',name);
%s
jest to najlepsza metoda łączenia łańcuchów, ponieważ nie trzeba najpierw zmieniać typu zmiennej. Zastanawiam się, czy tak samo jest w JS?Możesz użyć innej metody konsoli:
let name = prompt("what is your name?"); console.log(`story ${name} story`);
źródło
Istnieje kilka sposobów pocieszenia zmiennej w ciągu.
Metoda 1:
console.log("story", name, "story");
Korzyści: jeśli nazwa jest obiektem JSON, nie zostanie wydrukowana jako
"story" [object Object] "story"
Metoda 2:
console.log("story " + name + " story");
Metoda 3: W przypadku korzystania z ES6, jak wspomniano powyżej
console.log(`story ${name} story`);
Korzyści: nie ma potrzeby dodatkowego lub +
Metoda 4:
console.log('story %s story',name);
Korzyści: ciąg staje się bardziej czytelny.
źródło
Korzystając z ES6, możesz również zrobić to:
var name = prompt("what is your name?"); console.log(`story ${name} story`);
Uwaga: Aby to zrobić, musisz użyć znaku odwrotnego „zamiast„ ”lub„.
źródło
Możesz przekazać wiele argumentów do logowania:
console.log("story", name, "story");
źródło
%j
działa tylko dla Node.js.%j
konwertuje wartość na ciąg JSON i wstawia ją.console.log('%j new messages for', 7, 'john') // 7 new messages for john
Więcej podstawień ciągów tutaj:
Dokumenty:
źródło
To zależy od tego, czego chcesz.
console.log("story "+name+" story")
będzie łączyć ciągi razem i wydrukować. Dla mnie używam tego, ponieważ łatwiej jest zobaczyć, co się dzieje.Używanie
console.log("story",name,"story")
jest podobne do konkatenacji, jednak wydaje się, że działa mniej więcej tak:var text = ["story", name, "story"]; console.log(text.join(" "));
To spychanie razem wszystkich elementów tablicy, oddzielonych spacją:
.join(" ")
źródło
Obydwa
console.log("story" + name + "story")
iconsole.log("story", name, "story")
działają dobrze, jak wspomniano we wcześniejszych odpowiedziach.Nadal będę sugerował posiadanie nawyku
console.log("story", name, "story")
, ponieważ jeśli spróbujesz wydrukować zawartość obiektu, jak obiekt json,"story" + objectVariable + "story"
zamieni ją na łańcuch.Będzie to miało wyjścia jak:
"story" [object Object] "story"
.Po prostu dobra praktyka.
źródło
Możesz także użyć stylu printf dla argumentów formatujących. Jest dostępny przynajmniej w Chrome, Firefox / Firebug i node.js.
var name = prompt("what is your name?"); console.log("story %s story", name);
Obsługuje również% d do formatowania liczb
źródło
Możesz użyć odwrotnego ukośnika, aby zawrzeć zarówno historię, jak i nazwisko gracza w jednej linii.
var name = prompt ("jak masz na imię?"); console.log ("historia" \ nazwa \ "historia");
źródło