js中的1+2+3

原创 showmyself|民工 随笔 前端js 176阅读 2017-12-27 16:25:07 举报

今天遇到一个小问题,所以稍作总结:
在JavaScript中:

1+2+3= ?

1+2+"3"=?

1+"2"+3=?

"1"+2+3=?

=============================================
答案:6,33,123,123

解析:在js的表达式中,执行的顺序是按照运算符的优先级的先后顺序从左往右执行,但是加号比较特殊,在加号运算符中:两边的变量都是number类型的话,才会进行相加计算;如果其中有一个变量是字符串,那么运算符两边都作为字符串相加。

所以在第一个结果为实际的数字之间进行相加结果为6;

第二个前面两个数字进行数字相加为3,然后再和后面的字符串相加,结果为33;

后面两个因为一开始运算过程中就混有字符串,所以结果就是直接字符串进行相加,结果为123;

注意:四个结果中,第一个因为是纯数字运算的,所以结果是number类型,其他的因为混入了字符串,所以结果是string类型 :~)

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复