加法()
加法运算符(+
)增加了数字。
var a = 9,
b = 3,
c = a + b;
c
现在将是 12
此操作数也可以在单个赋值中多次使用:
var a = 9,
b = 3,
c = 8,
d = a + b + c;
d
现在是 20。
两个操作数都转换为基本类型。然后,如果任何一个是字符串,它们都被转换为字符串并连接。否则,它们都会转换为数字并添加。
null + null; // 0
null + undefined; // NaN
null + {}; // "null[object Object]"
null + ''; // "null"
如果操作数是字符串和数字,则将数字转换为字符串,然后将它们连接起来,这可能会在处理看起来是数字的字符串时导致意外结果。
"123" + 1; // "1231" (not 124)
如果给出布尔值代替任何数值,则在计算总和之前,将布尔值转换为数字(0
为 false
,1
为 true
):
true + 1; // 2
false + 5; // 5
null + 1; // 1
undefined + 1; // NaN
如果布尔值与字符串值一起给出,则布尔值将转换为字符串:
true + "1"; // "true1"
false + "bar"; // "falsebar"