- 1.两个都是数字时,执行加法运算
var a = 1,
b = 2,
c = 0;
c = a + b;//3 (1 + 2)
- 2.两个都是字符串类型时,执行拼接运算。
var a = '1',
b = '2',
c = '';
c = a + b;//'12' ('1' + '2')
- 3.其中一个是字符串时,也执行拼接运算
var a = '1',
b = 2,
c = '';
c = a + b;//'12' ('1' + '2')
- 4.如果运算中,有对象时,会调用对象的 toString() 或者 valueOf() 方法。
var str = 'hello',
arr = [1,2,3,4],
result = '';
result = str + arr;//'hello1,2,3,4'('hello' + '1,2,3,4')
/*相当于
arr = arr.toString();//"1,2,3,4"
result = str + arr;//'hello1,2,3,4'('hello' + '1,2,3,4')
*/
- 5.当只有一个字符串参数时,会尝试转换为数字
var a = '1',
c = 0;
var c = + a;//1