>> {} + []
0
所以 EmptyObject + EmptyArray 的结果是 0
。(免责声明:我不完全理解这为什么。)好的,现在我想将这个 0
赋值给一个变量!看起来很简单:
>> var a = {} + [];
undefined
>> a
"[object Object]"
好吧,也许并不是那么简单。谷歌一下...啊哈!在这种情况下,{}
实际上是一个代码块而不是空对象。所以让我把它看起来更像一个代码块:
>> var a =
{
}
+ [];
undefined
>> a
"[object Object]"
...当。 自己注意:JavaScript忽略空格。
有没有办法将{} + []
(或类似的)赋值给一个变量,但仍使得{} + []
计算结果为0
?
=
后面的{}
会被解释成不同的意思。 - Kevin B{} + [] = 0
的地方。 - The Guy with The Hat