操作符

2020-11-24  本文已影响0人  amanohina

算术运算符

正常情况

数字与数字之间的运算

console.log(1 + 2);
console.log(1 * 2);

非正常情况1

非正常情况2

其他类型的数据参与数学运算。

隐式转换

其他的数据类型会隐式转换为数字类型

比较运算符

正常情况

    console.log(7 > 8);
    console.log(7 < 8);
    console.log(7 >= 8);
    console.log(7 <= 8);
    console.log(7 == 8);
    console.log(7 != 8);
    console.log(8 === 8);
    console.log(8 !== 8);

非正常情况1

非正常去情况2

非正常情况3

console.log("6"<"12")
//这个的结果是false,原因是从第一位开始,6>1,

比较运算符运算顺序

逻辑运算符

逻辑运算符常用于布尔类型值之间; 当操作数都是布尔值时,返回值也是布尔值。


正常情况

非正常情况

隐式转换为布尔值的规律

    console.log(null && "123");
    console.log(12 && "123");
    console.log(12 || "123");
    console.log(undefined || null);
结果

逻辑运算符的运算顺序

赋值运算符

赋值运算符符号

一元运算符

运算优先级

    var a = 4;
    var num = 1 * (2 + 3) && ++a || 5 > 6 && 7 < 8 || !9;

分析:最高优先级是括号,所以先运算(2+3)得5
然后一元运算符++所以++a=5,!9=false
然后进行算术运算符,得
5 && 5 || 5>6 && 7<8 || false
随后是关系运算符
5 && 5 || false && true || false
先与后或
5 || false || false
从前到后
5

    var a = 4;
    var num = 1 * (2 + 3) && ++a || 5 > 6 && 7 < 8 || !9;
    // num = 1 * 5 && ++a || 5 > 6 && 7 < 8 || !9
    // num = 1 * 5 && 5 || 5 > 6 && 7 < 8 || false
    // num = 5 && 5 || 5 > 6 && 7 < 8 || false
    // num = 5 && 5 || false && true || false
    // num = 5 || false || false
    // num = 5
上一篇 下一篇

猜你喜欢

热点阅读