2013-05-17 15 views
46

私はJavaScriptで簡単なゲームを作っていますが、ストーリーではプレイヤーの名前を言う必要があります。だからこれまで私が持っているものは:どのように変数をconsole.logに追加できますか?

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

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

私は2行目をどうやってやるのですか?または私がこれを行うことができる別の方法があります。コンソールに1行に2 console.log();を入れることは可能ですか?

+0

文字列を連結するだけですか? 「第二の行をする」とはどういう意味ですか? – cogsmos

+0

^cogsmos、それは今は問題ではない、私の質問に答えられた –

+0

あなたはそれを考えてうれしい。 JavaScriptでは、+は算術演算にも、2つの文字列を結合するためにも使用できます(連結とも呼ばれます)。いくつかの詳細についてはこちらをご覧ください: http://www.w3schools.com/js/js_operators.asp – cogsmos

答えて

48

その後stirngsを組み合わせること+を使用します。

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

名前objectまたはarrayであれば、複数の引数を使用して優れている:

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

私はこの答えはまた、第二話 – guribe94

51

console.logはこれだけを使用することは、複数の引数を取ります連結よりも。文字列にobjectまたはarrayを連結すると、変数の内容ではなく単に型を記録するだけです。

の名前がプリミティブ型の場合、複数の引数は連結と同じように動作します。

+12

または 'はconsole.log( '物語のためにある二重引用符が欠落していると考えています%s story '、name); ' –

+1

小さなものですが、Parseのクラウドコードのようなあまり一般的でない設定の場合、配列を送信するか%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の可能性があります)、ここではそのことを仮定することはできません。 – stevenvanc

1

両方console.log("story" + name + "story")console.log("story", name, "story")作品ばかり:別のコンソールメソッドを使用することができますこれまでの回答で述べたように罰金を科す。

"story" + objectVariable + "story"を持つオブジェクトの内容を印刷しようとすると、"story" + objectVariable + "story"が文字列に変換されるため、私はまだconsole.log("story", name, "story")の習慣を持つことを提案します。

これは、出力が"story" [object Object] "story"になります。

ちょうど良い習慣です。 ES6を使用している場合

10

あなたもこれを行うことができます。

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

注:あなたはこのようにそれを行うには代わりに「」または「」の ``バッククォートを使用する必要があります。

5

文字列内の変数を覚えておく方法はいくつかあります。

方法1:

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

利点:

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

方法3:名前はJSONオブジェクトである場合は、"story" [object Object] "story"

方法2として印刷されないES6を使用する場合上記のように

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

利点:エキストラの必要性、または+

方法4:

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

利点:文字列が読みやすくなります。

+0

freemarkerは3番目の方法をサポートしていません。 – egemen