加法()

加法运算符(+)增加了数字。

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)

如果给出布尔值代替任何数值,则在计算总和之前,将布尔值转换为数字(0false1true):

true + 1;         // 2
false + 5;        // 5
null + 1;         // 1
undefined + 1;    // NaN

如果布尔值与字符串值一起给出,则布尔值将转换为字符串:

true + "1";        // "true1"
false + "bar";     // "falsebar"