我如何添加一个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
那么使用多个参数比连接要好。 如果将一个object
或array
连接成一个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"
。
只是一个很好的做法。