为什么控制台.log(true,' ')打印真“ ”
Why does console.log(true, ' ') print true " "?
在Chrome中,以下内容
console.log(true, ''t');
将打印
true " "
为什么有报价徘徊?
(请注意,console.log(true + '', ''t')
只会打印true
,就像console.log('a', ''t');
只会打印a
一样。
基本上有两个重载需要控制台.log:
console.log(formatString, args)
和console.log(arg1, arg2, ...)
.
更具体地说,根据源代码,如果第一个参数是字符串,则将其视为其他参数的格式字符串。 否则,将直接输出每个参数。
因此console.log(true + '', ''t')
输出"true",因为第一个参数是一个字符串,'t
没有占位符,console.log(true, ''t')
将输出这两个参数true
因为不是字符串。
我决定玩一玩
console.log(true, ''t');
true " "
然后我尝试了相反的方法
console.log(false, ''t');
false " "
不知道为什么,但假只回馈一个空间,而真回馈两个o_O......此外,如果't
处于开始阶段,则没有问题
console.log(''t', true);
true
之后会发生什么也无关紧要,但似乎第一个参数如果它通常是布尔值,会影响引号后的所有转义制表符。
console.log(false, ''t', ''t');
false " " " "
所以它肯定与第一个参数是布尔值有关,因为如果你尝试使用字符串,它的行为完全正常。我想这是谷歌浏览器的一件古怪的事情吗?我需要找到源代码才能实际看到它。
相关文章:
- 按压“;输入“;将值打印到控制台日志
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 打印javascript控制台的堆栈跟踪
- 打印到控制台时为NaN,但typeof为数字jquery
- 为什么控制台.log(true,' ')打印真“ ”
- system.err风格的控制台以javascript打印
- 如何做if/else语句并使用控制台.log打印出来
- 谷歌浏览器控制台,打印图像
- Grails:多个加载ajax调用,但只有一个打印到控制台
- page.evaluate() 未打印控制台消息
- 它将打印控制台.log(1+ + “2”)
- Selenium NodeJS将cookie打印到控制台
- 使用javascript在HTML的输出窗口中打印控制台消息
- 如何将52个随机生成的数字打印到控制台
- jQuery显示函数打印到控制台
- 如何在控制台.log中打印 JSON 数据
- js 如何将对象名称打印到控制台
- 打印机.js未打印到控制台
- Node.js打印控制台输出两次
- 否则,如果不打印控制台值