1. 加法运算
    • 原始类型的值相加
      • 数字相加(略)
      • 非数字相加
        • 两个字符串相加,直接连接变成新的字符串
        • 布尔值和数字相加,布尔值转化成数字再相加
          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"
  2. 余数运算
    12 % 5 // 2
  3. 自增和自减
  4. 赋值运算