1-1、 算术运算

  1. +,-,*,/,%,()
  2. # 先将值转换为number(Number),再进行计算。

Tips: +特殊,如何有一边为字符串,那么+起拼接符作用,结果一定是字符串。

  1. # 1. true->1,false->0 null->0 "123" -->123
  1. console.log(true+10) //11;
  2. console.log("123"-1) //122;

总结

  1. a、任何数字和NaN运算,得到都是NaN
  2. b、其他的字符作除加运算以为的运算,先将值转换为number(Number),再进行计算。

1-2、 比较运算(关系)

  1. >,<,>=,<=,==,!=,===,!==

将值转换为number,再进行比较,返回的是boolean

==,等于,判断两边关系的时候,它会尽可能去判断两边相等。
===,全等于,判断的时候,会尽可能判断两边不等。除了判断值相等以外,还要判断数据类型是不是相同。

1-3、 逻辑运算

  1. && 两边都为true,结果就为true
  2. || 只要有一边为true,结果就为true
  3. ! 取反
  • **两边都先转换为boolean,再判断** ```javascript // && 逻辑与 两个为true,结果才为true // || 或 只要有一个为true,结果就为true // ! 非
    console.log(3>2 && 4>3) // true && true 结果为true console.log(3>2 && 4<3) // true && false 结果为false

console.log(11>5 || 3<4) // true || false 结果为true

console.log(!(3>4)) //!false 结果为true

  1. ```javascript
  2. var a = false;
  3. console.log(!a); //
  1. console.log(!!0) //false
  2. console.log(!0) //true

逻辑运算符常用于布尔值之间;当操作数都是布尔值时,返回值也是布尔值。
特殊情况:
其他非布尔值也可以参与逻辑运算,参与的时候,会自动转换成布尔值进行运算。返回结果不一定就是布尔值。
例如

  1. console.log(3 && 4) //4

Tips: && 优先级高于 ||

例如

  1. console.log( false || 3 &&4); //4

1-3-1、 或运算的注意点

  • **|| 有一边为true,结果就为 true,遇到true就会返回**

    1. var b = 0 || "abc"
    2. var c = "abc" || 1;
    3. var d = 0 || NaN
    4. console.log(b) // abc
    5. console.log(c) // abc
    6. console.log(d) // NaN

    1-3-2、 与运算的注意点

  • **两边都为true,结果才为true 遇到false的情况,直接返回**

    1. console.log("abc" && 10) // 10
    2. console.log(0 && "abc") // 0

    1-4、 赋值运算

  1. +=,-=,*=,/=,%=
  1. var a = 2;
  2. //a=a+4;
  3. a+=4;
  4. var b = 4;
  5. b-=4; // b=b-4;
  6. console.log(a) // 6
  7. console.log(b) // 0

1-5、 三元表达式

  1. var a=(10>4)?10:4

1-6、 ++,—

  1. /*
  2. ++放前面先自增,后运算
  3. ++放后面先运算,再自增
  4. */
  1. /*
  2. -- 放前面先自减,后运算
  3. -- 放后面先运算,再自减
  4. */