1.算术运算

  1. /*算术运算
  2. 1.(除+运算外),先将两边的值转为number , ( Number)再计算
  3. 2.+,有一边为字符串,结果一定为字符串
  4. */
  5. console.log(10+"1"-1+true)
  6. /*"101"-1=10e 10日+Number(true)*/
  7. console.log( "100"-true); //99
  8. /*Number( "10e") -Number(true) */
  9. console.log( "100"+false);
  10. /*"10efalse"*"100"+String(false)*/

2.比较运算

  1. /* >,<,==,!=
  2. 先将两遍的值转为number,Number()。它返回值是boolean
  3. */
  4. console.log(10>true);
  5. /* 10>Number(true) */
  6. console.log(10>"");
  7. /* 10>Number("") */
  8. // 比较运算中 特殊: == 运算中的null
  9. var a = null; //a在内存中不占位置,可以设置任意值
  10. console.log(0 == '')
  11. console.log(0 == undefined);
  12. // 0 == Number(undefined)
  13. // console.log(Number(null));
  14. // 特殊:等 == 运算中 ,null不会转换为number值
  15. // tips:null = undefined,但是不等于其他任何值
  16. console.log(null == 0);
  17. console.log(null == '');
  18. console.log(null == undefined);
  19. console.log(null == NaN);

3.逻辑运算

  1. /*
  2. && 只有两遍都为true,结果才为true,只要有一边为false,结果一定为false(遇到结果为false直接返回)
  3. || 只要有一边为true,结果就为true,遇到结果为true直接返回
  4. ! 取反
  5. */
  6. tips:计算顺序 从左到右,返回第一个满足条件的值 (||两边都为false输出第二个false)
  7. console.log(10<11 && 12>10)
  8. console.log(10>11 && 12>10)
  9. console.log(10>11 || 12>10)
  10. console.log( ! (10>11))

4.赋值运算

  1. +=,-=,*=,/=,%=
  2. var a = 2;
  3. a+=4;
  4. a=a+4;

5.三元运算符

  1. var a = (10<5)?"大于":"小于";
  2. tips:() 里的返回结果为true,取?后面第一个值,返回解雇欧威false,取?后面第二个值

6. ++ — 运算符

  1. // a++ 等同于 a = a + 1
  2. // ++ 放在前面,先自增,后运算,反之,先运算,后自增