JaveScript运算符(JS知识点归纳三)

JaveScript中有许多的运算符,在这里就只说明一些需要注意的.

01 一元运算符

一元:指的是参与运算的操作数只有一个

最经常使用的是++   -- 

计算规则:

++/-- 前置于操作数的时候 , 先进行 a=a+1,再去进行运算

++/--后置于操作数的时候 , 先进行运算,在进行a=a+1

无论++/--前置于操作数还是后置于操作数,都只能决定当前位置的取值,本次计算结束后,对其他位置的影响的完全相同的

      var a = 1; var b = ++a + ++a; console.log(b);//5
        var a = 1; var b = a++ + ++a + --a; console.log(b);//6
        var a = 1; var b = a++ + a++; console.log(b);//3
        var a = 1; var b = ++a + a++; console.log(b);//4

02 逻辑运算符

逻辑运算符有两种操作.都是根据布尔类型值进行逻辑判断操作的.

1.两个值都是布尔值的时:

 逻辑与  两个操作数都是true ,结果是true ,否则为false

true  &&  true     //true
true  &&  false    //false
false  &&  true    //false

 逻辑或  两个操作数都是false,结果是false,否则为true

false || false  //true
false || true   //false
true || false   //false

逻辑非  对操作数取反

!false    //true
!true     //false

2.某个操作数不是布尔值时

逻辑与  和  逻辑非 

1> 从左往右看

2>如果不是布尔值,进行隐式转换

3>根据操作数一进行判断,如果直接可以决定运算结果,直接返回操作数一(返回的是原值,不是转换之后的结果)

4>如果操作数一无法决定式子的结果,则返回操作数二(返回的是原值,不是转换之后的结果)

注意: 操作数一直接决定结果,那么操作数二不会被JS解析器读取(称之为短路操作.短路的话,后续就不会在进行执行)

逻辑非

如果操作数不是布尔类型,则隐式转换为布尔类型后,再去进行取反操作

原文地址:https://www.cnblogs.com/AmorR/p/8138847.html