- 加法运算
- 原始类型的值相加
- 数字相加(略)
- 非数字相加
- 两个字符串相加,直接连接变成新的字符串
- 布尔值和数字相加,布尔值转化成数字再相加
true + true // 2 1 + true // 2
- 字符串+数字=>数字
- 数字+字符串=>字符串
'3' + 4 + 5 // "345" 3 + 4 + '5' // "75"
- 对象相加:先调用valueOf()再toString()转化成字符串再相加,正则对象先调用toString()。
var obj = { p: 1 }; obj + 2 // "[object Object]2"
- 自定义valueOf或其他方法,示例:
var obj = { valueOf: function () { return 1; } }; obj + 2 // 3 var obj = { toString: function () { return 'hello'; } }; obj + 2 // "hello2"
- 自定义valueOf或其他方法,示例:
- 原始类型的值相加
- 余数运算
12 % 5 // 2
- 自增和自减
- 赋值运算