5-1 算术运算符( + - * / % )

  • 两边都先转换为number,再运算

    1. // + - * / %
    2. var a =3;
    3. var b = 3.3;
    4. var c = 4;
    5. console.log(a*b) // 9.899999999999999
    6. console.log(b/a) // 1.0999999999999999
    7. console.log(c%a) // 1

    5-2 比较运算符( >,<,==,>=,<=,!= )

  • 两边都先转换为number,再比较,返回的是 boolean

    1. var a = true
    2. var b = 1;
    3. console.log(a==b) // true
    4. console.log(a=="1") //true 两边都先转为number
  • 注意: null == undefined

null 和 undefined 不能转化为其他值
** Number(""),Number(" "),Number(null) => 输出 0**

  1. // Number(""),Number(" "),Number(null) => 输出 0
  2. console.log(false == ""); // true
  3. console.log(true == 1); // true
  4. console.log(null == undefined); // true
  5. console.log(undefined == false); // false
  6. console.log(1 == "1"); // true
  7. console.log(null == false); // false
  8. /* 1.只有有一边为 boolean 先两边转为number
  9. 2.一边为string,一边为number,先将两遍转为number
  10. // 两边都先转为number
  11. 3. null == undefined
  12. 4. null 和 undefined 不能转化为其他值
  13. */

5-3 逻辑运算符( &&,||,! )

  • 两边都先转换为boolean,再判断,返回的是 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. <a name="wYA0B"></a>
  2. ### 5-3-1 或运算的注意点
  3. - **`|| 有一边为true,结果就为 true,遇到true就会返回`**
  4. ```javascript
  5. var b = 0 || "abc"
  6. var c = "abc" || 1;
  7. var d = 0 || NaN
  8. console.log(b) // abc
  9. console.log(c) // abc
  10. console.log(d) // NaN

5-3-2 与运算的注意点

  • **两边都为true,结果才为true 遇到false的情况,直接返回**
    console.log("abc" && 10)  // 10
    console.log(0 && "abc")   // 0
    

    5-4 三元运算符

    // true 输出问号后面的第一段语句
    // false 输出问号后面的第二段语句
    var a = (4>5)?"4大于5":"4小于5";
    console.log(a)
    

    5-5 赋值运算(+=,-=)

    // +=,-=
    var a = 2;
    //a=a+4;
    a+=4;
    var b = 4;
    b-=4; // b=b-4;
    console.log(a)   // 6
    console.log(b)   // 0