我如何添加一个variables到console.log?

我在JavaScript中做了一个简单的游戏,但在故事中,我需要它说出玩家的名字。 所以我到目前为止是:

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

我怎么做第二行? 或者有另外一种方法可以做到这一点。 是否有可能有2 console.log(); 在控制台中的1行?

然后使用+来结合stirngs:

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

console.log需要多个参数,所以只需使用:

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

如果name是一个object或一个array那么使用多个参数比连接要好。 如果将一个objectarray连接成一个string,则只需logging该types而不是variables的内容。

但是,如果name只是一个基本types,那么多个参数的作用就像串联一样。

您可以使用另一个控制台方法:

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

当使用ES6时,你也可以这样做:

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

注意:你需要使用反引号“而不是“”或“'来做这个。

您可以传递多个参数来logging:

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

有几种方法可以安装string中的variables。

方法1:

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

好处:如果name是一个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); 

好处:string变得更可读。

这取决于你想要的。

console.log("story "+name+" story")将连接在一起的string,并打印。 对我来说,我使用这个,因为它更容易看到发生了什么事情。

使用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")工作情况正如先前答案中所提到的那样。

我仍然会build议有一个习惯console.log("story", name, "story") ,因为如果试图打印对象的内容,比如json对象,有"story" + objectVariable + "story"会转换它变成了string。

这将产生像"story" [object Object] "story"

只是一个很好的做法。