2013-05-17 111 views
46

我在JavaScript中做了一個簡單的遊戲,但在故事中我需要它說出玩家的名字。所以我到目前爲止是:如何將變量添加到console.log?

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

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

我該怎麼辦第二行?或者有另一種方式可以做到這一點。是否有可能在控制檯的1行上有2 console.log();

+0

你只是想把串連在一起? 「做第二行」是什麼意思? – cogsmos

+0

^cogsmos,現在沒關係,我的問題已經回答了 –

+0

很高興你知道了。在JavaScript中,+可用於算術,也可用於將兩個字符串連接在一起(也稱爲串聯)。看看這裏的一些更多細節: http://www.w3schools.com/js/js_jos_operators.asp – cogsmos

回答

48

然後使用+到stirngs結合:

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

我相信這個答案是錯過了第二個故事 – guribe94

51

console.log需要多個參數,所以只需使用:

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

如果objectarray然後使用多個參數比較好比連接。如果將objectarray連接成一個字符串,則只需記錄該類型而不是變量的內容。

但是,如果名稱只是一個原始類型,那麼多個參數的工作方式與串聯相同。

+12

或'console.log('story 's story',name);' –

+1

細微的東西,但是如果你的傳統設置比較像Parse's Cloud Code發送數組或者使用%s不起作用..所以你不得不連接。 –

+0

@MuhammadUmer很棒,我認爲那只是一個Python的東西。在Python中,'%s'是拼接字符串的最佳方法,因爲您不需要首先更改變量類型。我不知道在JS中它是否一樣? – JasTonAChair

6

您可以將多個參數傳遞給日誌:

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

這取決於你想要什麼。

console.log("story "+name+" story")concatenate串連起來並打印出來。對我而言,我使用它是因爲它更容易看到發生了什麼。

使用console.log("story",name,"story")類似於然而,串聯,它似乎運行是這樣的:

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

這是推動所有項目的排列在一起,用空格分隔:.join(" ")

21

你可以使用另一種方法控制檯:

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

模板字符串很棒。但是提供了某人使用ES6。由於在示例中使用了「var」(可能是ES6 ofcourse),但不認爲我們可以假設這裏... – stevenvanc

1

兩個console.log("story" + name + "story")console.log("story", name, "story")作品只是正如之前答覆中提到的那樣。

我仍然會建議養成console.log("story", name, "story")的習慣,因爲如果試圖打印對象內容,比如json對象,將"story" + objectVariable + "story"轉換爲字符串。

這將產生像:"story" [object Object] "story"

只是一個很好的做法。

10

當使用ES6你也可以這樣做:

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

注意:您需要使用反引號``而不是「」或「」做這樣的。

5

有幾種方法可以安排字符串中的變量。

方法1:

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

好處:如果名字是JSON對象,也不會被打印爲"story" [object Object] "story"

方法2:

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

方法3:當使用ES6如上所述

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

好處:無需額外的,或+

方法4:

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

效益:字符串變得更具可讀性。

+0

freemarker不支持第三種方法。 – egemen