[英]How can I add a variable to console.log?
我正在用 JavaScript 制作一個簡單的游戲,但在故事中我需要它說出玩家的名字。 所以到目前為止我所擁有的是:
var name = prompt("what is your name?");
console.log("story" name "story);
我怎么做第二行? 或者有另一種方法可以做到這一點。 是否可以有 2 個console.log();
在控制台的 1 行上?
然后使用+
組合字符串:
console.log("story " + name + " story");
console.log
需要多個參數,所以只需使用:
console.log("story", name, "story");
如果name是一個object
或一個array
那么使用多個參數比串聯更好。 如果您將一個object
或array
連接成一個字符串,您只需記錄類型而不是變量的內容。
但是如果name只是一個原始類型,那么多個參數的工作方式與串聯相同。
您可以使用另一種控制台方法:
let name = prompt("what is your name?");
console.log(`story ${name} story`);
有幾種方法可以消除字符串中的變量。
方法一:
console.log("story", name, "story");
好處:如果 name 是一個 JSON 對象,它不會被打印為"story" [object Object] "story"
方法二:
console.log("story " + name + " story");
方法 3:當如上所述使用 ES6 時
console.log(`story ${name} story`);
好處:不需要額外的 , 或 +
方法四:
console.log('story %s story',name);
好處:字符串變得更具可讀性。
使用 ES6 時,您還可以這樣做:
var name = prompt("what is your name?");
console.log(`story ${name} story`);
注意:您需要使用反引號 `` 而不是 "" 或 '' 來做到這一點。
您可以傳遞多個參數來記錄:
console.log("story", name, "story");
%j
僅適用於 Node.js。 %j
將值轉換為 JSON 字符串並插入。
console.log('%j new messages for', 7, 'john')
// 7 new messages for john
這取決於你想要什么。
console.log("story "+name+" story")
將字符串連接在一起並打印出來。 對我來說,我使用它是因為它更容易看到發生了什么。
使用console.log("story",name,"story")
類似於連接但是,它似乎運行如下:
var text = ["story", name, "story"];
console.log(text.join(" "));
這是將數組中的所有項目推到一起,用空格分隔: .join(" ")
console.log("story" + name + "story")
和console.log("story", name, "story")
可以正常工作,如前面的答案中所述。
我還是會建議有console.log("story", name, "story")
的習慣,因為如果嘗試打印對象內容,比如 json 對象,有"story" + objectVariable + "story"
會轉換它變成字符串。
這將有如下輸出: "story" [object Object] "story"
。
只是一個好習慣。
您還可以使用 printf 樣式的格式化參數。 它至少在 Chrome、Firefox/Firebug 和 node.js 中可用。
var name = prompt("what is your name?");
console.log("story %s story", name);
它還支持 %d 格式化數字
您可以使用反斜杠在一行中包含故事和玩家姓名。
var name=prompt("你叫什么名字?"); console.log("故事"\\名稱\\"故事");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.