console.log输出中Foo与Bar间空格来源及多空格实现疑问
关于console.log输出空格的疑问解答
问题1:输出结果中Foo与Bar之间的空格来自何处?
没错,这个空格是console.log自身的机制导致的——当你给它传入多个参数时,它会自动在每个参数的输出结果之间添加一个空格作为分隔符。你代码里console.log(foo, bar);里的逗号是用来分隔函数参数的,代码里的空格JavaScript确实会忽略,但这和console.log输出时自动添加的空格完全是两回事。
问题2:若需输出Foo Bar,修改console.log(foo, bar);或者console.log(foo," "bar);可行吗?
- 改
console.log(foo, bar);没用,JavaScript会忽略参数列表里的多余空格,console.log还是只会输出默认的单个分隔空格。 console.log(foo," "bar);是语法错误,字符串和变量不能直接连在一起写,这种写法JS无法识别。
问题3:写成console.log(foo," ",bar);是否可行?
这个写法完全可行!console.log会依次输出每个参数,中间的空格字符串会被原样输出,这样就能得到Foo Bar的效果。另外你也可以用字符串拼接或者模板字符串的方式实现,比如:
// 字符串拼接 console.log(foo + " " + bar); // 模板字符串(ES6+) console.log(`${foo} ${bar}`);
内容的提问来源于stack exchange,提问作者Phil Reinie
相关产品推荐
相关产品推荐

