簡體   English   中英

如何向 console.log 添加變量?

[英]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那么使用多個參數比串聯更好。 如果您將一個objectarray連接成一個字符串,您只需記錄類型而不是變量的內容。

但是如果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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM