{}+{}=NAN
{}+[]=0
[]+[]=""
[]+{}="[Object Object]"
原因可以参见http://www.iteye.com/topic/1120799?page=2
简单分析下:
{}在最前面被当成了组织复合语句,就是类似于if(){}else{};里面的{};
所以{}+{}=+{}
第二个{}由于有+运算符,所以转换成+“[Object Object]”;
由于“[Object Object]”是无法转换成数值的所以最后结果是NaN。
同理{}+[]=+[]
由于[]转换成字符串是"";
所以+[]=+""=0;