langqiqi
2015-03-28 21:32
{}+[]=?
一个完整的语句,如果以{开头,就会被理解为block(块)
也就是说:
{} + []
直接这样写,等于被拆分为:
{} // 这是空块被忽略
+[] // 这是最后返回的值
因此直接在控制台输入返回的是+[](空数组转数字)也就是0.
而如果换种写法:var n = {} + []; // 此时 {} 不再是块,而是空对象字面量。
这时会尝试转字符串,即[object Object],而空数组转换为字符串就是空串,所以最终返回[object Object].
还有0?
我猜:null
JavaScript深入浅出
281111 学习 · 1020 问题
相似问题