计算从左到右顺序。
符号“+”,可能是数字相加、也可能是字符串拼接,情况如下:
1. 数字 + 字符串 (1 + "2" = "12"): 字符串拼接
2. 字符串 + 数字 ("1" + 2 = "12"): 字符串拼接
3. 字符串 + 字符串 ("1" + "2" = "12"): 字符串拼接
4. 数字 + 数字 (1 + 2 = 3): 数字相加
符号“-”的作用全都是"数字相减",非数字类型的会转化成数字类型。
如果无法转换成数字类型,则为NaN。例如:Number("A") == NaN。NaN与任何数字进行加减乘除等操作都是NaN,比较都是false。
情况如下:
5. 数字 - 数字 (2 - 1 = 1):数字相减
6. 字符串 - 数字 ("2" - 1 = 1):数字相减
7. 数字 - 字符串 (2 - "1" = 1):数字相减
8. “A" - 1 = NaN
9. "A" - 1 + 2 = NaN
javascript编码时,注意弱类型,编码不当可能导致转换性能低
使用javascript转换插件时,编码时注意,要求字符串变量赋值时,必须使用强制字符串类型,或利用 + "" 转换成字符串类型,请参考下面三种写法:
(1)var mynewcolumn = 100 + "";
(2)var mynewcolumn = "100";
(3)var a = 100;
var mynewcolumn = a + "";