我不想问为什么 [] + [] 给你空字符串,等等,因为我们无法改变它。原因只是语言的设计。
我的问题是关于以下不一致,在 Chrome 和 FF Firebug JS 控制台中注意到:
{} + []; // outputs 0
console.log({} + []); // outputs [object Object]
var c = {} + [];
console.log(c); // outputs [object Object]
我知道表达式返回一个值,这就是您在控制台输出中看到的。但是为什么这个返回值会发生变化,当使用 分配给变量或输出时console.log()
?
这是否意味着提到的控制台有问题?
有没有更好的解释然后说明这是它的完成方式?