var a = "ab";
var b = "ab";
a+=1; // "ab1"
b++; // "NaN"
(在chrome的V8上测试)
有人可以根据
++
算术运算符和带参数+=
的1
赋值运算符的内部原子操作来解释结果为何不同的原因 最佳答案
++
转换为数字,然后递增,并将带有字符串的+=
串联在一起。
从规范:
对于a+=1
情况,如果您将数字添加到字符串中,或者相反,则将数字周围的数字转换为字符串:
关于Javascript++与+ = 1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4397917/