标签: javascript
我收到了几篇关于这个主题的帖子,并且知道表达式评估从左到右发生了"1"+1 gives "11"但1+"1" also gives "11"的原因,请解释原因?
"1"+1 gives "11"
1+"1" also gives "11"
这篇文章中提到并被大多数观众接受。 Javascript (+) sign concatenates instead of giving sum of variables
答案 0 :(得分:4)
因为规范是这样说的。见The Addition operator (+):
如果Type( lprim )是字符串或Type( rprim )是字符串,那么 返回串联ToString( lprim )后跟ToString( rprim )的结果的字符串 将添加操作的结果返回到ToNumber( lprim )和ToNumber( rprim )。 醇>
因此,只关注某个操作数是否为字符串,而不是哪一个。