Javascript Firebug在控制台中显示使用或+;合弦

Javascript Firebug在控制台中显示使用或+;合弦,javascript,firebug,string-concatenation,Javascript,Firebug,String Concatenation,我在firebug上遇到了一个有趣的效果,当使用+操作符或,操作符来合成字符串,然后将内容打印到控制台时,字体会根据您使用的操作符进行更改 在这种情况下,Harry一词的字体会发生变化: 为什么会发生这种情况?逗号运算符不也用于连接吗?不,逗号不用于连接console.log将独立地将其每个参数记录到控制台上的同一行中,但如果使用逗号分隔参数,则它们将不会连接在一起。+运算符将它们连接起来。例如: console.log('hello', {foo: 'bar'}); //=> 'hel

我在firebug上遇到了一个有趣的效果,当使用
+
操作符或
操作符来合成字符串,然后将内容打印到控制台时,字体会根据您使用的操作符进行更改

在这种情况下,Harry一词的字体会发生变化:


为什么会发生这种情况?逗号运算符不也用于连接吗?

不,逗号不用于连接
console.log
将独立地将其每个参数记录到控制台上的同一行中,但如果使用逗号分隔参数,则它们将不会连接在一起。
+
运算符将它们连接起来。例如:

console.log('hello', {foo: 'bar'}); //=> 'hello', {foo: 'bar'}

console.log('hello' + {foo: 'bar'}); //=> 'hello[object Object]'
使用
+
操作符,JavaScript将尝试调用对象上的
.toString
,以便将其连接到上一个字符串上。使用逗号,每个片段都被认为是自己的参数传递到
console.log
,然后由console.log记录每个片段


至于firebug为什么改变字体,我不能说。我能说的是,它与应用程序中的实际JavaScript无关。

否逗号不用于连接
console.log
将独立地将其每个参数记录到控制台上的同一行中,但如果使用逗号分隔参数,则它们将不会连接在一起。
+
运算符将它们连接起来。例如:

console.log('hello', {foo: 'bar'}); //=> 'hello', {foo: 'bar'}

console.log('hello' + {foo: 'bar'}); //=> 'hello[object Object]'
使用
+
操作符,JavaScript将尝试调用对象上的
.toString
,以便将其连接到上一个字符串上。使用逗号,每个片段都被认为是自己的参数传递到
console.log
,然后由console.log记录每个片段


至于firebug为什么改变字体,我不能说。我能说的是,它与应用程序中的实际JavaScript无关。

它更改字体,因为它代表不同的东西,,一个是
[对象]
+
就像你说的那样是
字符串。Liam,Chrome开发工具中不会发生字体更改,所以我不确定类型是否真的重要。如果
who
的参数是一个字符串,那么它就不必执行任何类型强制。关键是,这是一个Firebug怪癖,而不是JavaScript怪癖。是的,我们说的是同一件事。这是FireBug的一个功能,Simon在发表评论后,显然已经修复了该漏洞。:-)因此,在Firebug 2.0中,这应该按预期显示。它更改字体,因为它代表不同的东西,
一个是
[对象]
+
是(正如您所说的)一个
字符串。Liam,Chrome开发工具中不会发生字体更改,所以我不确定类型是否真的重要。如果
who
的参数是一个字符串,那么它就不必执行任何类型强制。关键是,这是一个Firebug怪癖,而不是JavaScript怪癖。是的,我们说的是同一件事。这是FireBug的一个功能,Simon在发表评论后,显然已经修复了该漏洞。:-)因此,在Firebug 2.0中,这应该按预期显示。