题目:
var str=true+11+null+9+undefined+“zhuanbang”+false+null+9+[];
问题:str值等于多少?
理解下面这张图,便能得出题目的正确答案:
分析:
注意: 加法规则从左到右计算
console.log(true + 11)
:true转化为1,结果为12console.log(true + 11 + null)
:null转化为0,结果为12console.log(true + 11 + null + 9)
:12+9=21console.log(true + 11 + null + 9 + undefined)
:21 + undefined = NaNconsole.log(true + 11 + null + 9 + undefined + "zhuanbang")
:‘NaN’ + ‘zhuanbang’ = ‘NaNzhuanbang’console.log(true + 11 + null + 9 + undefined + "zhuanbang" + false)
:‘NaNzhuanbang’ + ‘false’ = ‘NaNzhuanbangfalse’console.log(true + 11 + null + 9 + undefined + "zhuanbang" + false + null)
:‘NaNzhuanbangfalse’ + ‘null’ =‘NaNzhuanbangfalsenull’console.log(true + 11 + null + 9 + undefined + "zhuanbang" + false + null + 9)
:‘NaNzhuanbangfalsenull’ + ‘9’ = ‘NaNzhuanbangfalsenull9’console.log(true + 11 + null + 9 + undefined + "zhuanbang" + false + null + 9 + [])
:‘NaNzhuanbangfalsenull9’ + ’ ’ = ‘NaNzhuanbangfalsenull9’
规则都总结在上面图中,如果看不懂结果,可以看图。