菜鸟学习javascript28 逻辑操作符

逻辑操作符:非(not)、与(and)、或(or)。

逻辑非

逻辑非由一个叹号(!)表示,应用于任何类型。这个操作符有转换功能,把操作数转换成布尔值,然后再对其求反。返回结果只有真true和假false。

例子

alert(!false)  ;          //true

alert(!“blue”);         //false

alert(!0);                //true

alert(!NaN);         //true

alert(!“”);              //true

alert(!12345);     //false

总结:

1.如果操作数是一个对象,返回false

2.如果操作数是一个非空字符串,返回false

3.如果操作数是任何非0数值(包括Infinity),返回false

4.如果操作数是一个空字符串,返回true

5.如果操作数是数值0,返回true

6.如果操作数是数值null,返回true

7.如果操作数是数值NaN,返回true

8.如果操作数是数值undefined,返回true

逻辑与

逻辑与操作符(&&)表示。逻辑与操作符,属于短路操作,如果第一个操作能够决定结果,那么就不会再对第二个操作数求值。如果第一个操作数是false,那么第二个值无论是什么,结果都是false。

var result = true && false

x == 0 && y == 0      //只有x和y都为0,才会返回true.

逻辑与操作适应任何类型的操作数,不仅是布尔操作。

规则如下

1.如果第一个操作数是对象,责返回第二个操作数

3.如果第二个操作数是对象,则只有在第一个数的数值结果为true的情况下才会返回该对象

4.如果俩个操作数都是对象,则返回第二个操作数

5.如果第一个操作数是null,则返回null

6.如果第一个操作数是NaN,则返回NaN

7.如果第一个操作数是undefined,则返回undefined

注意:不能在逻辑与操作中实用未定义的值,会报错

逻辑或

逻辑或操作符由(||)表示。逻辑或操作符也是短路操作符,如果第一个操作数的求值结果为true,就不会对第二个操作数求值了,俩个操作数都为false,才会返回false.

如果有一个操作数不是布尔值,逻辑或不一定返回布尔值。

规则如下:

1.如果第一个数是对象,则返回第一个操作数

2.如果第一个操作数的求值结果为false,则返回第二个操作数

3.如果两个操作数都是对象,则返回第一个操作数

4.如果俩个操作数都是null,则返回null

5.如果俩个操作数都是NaN,则返回NaN

6.如果俩个操作数都是undefined,则返回undefined

条件运算符

javaScript唯一一个三元运算符,写成“?:”。

例如:x > 0 ? x : -x              //求x的绝对值

解释:如果x大于0,返回x;如果x小于0,则返回-x。

var max = (num1 > num2) ? num1:num2

赋值操作符

简单的复制操作符(=)

复合赋值操作符

num += 10和 num = num+10一样

乘赋值(*=)

除赋值(/=)

加赋值(+=)

减赋值(-=)

PS:感觉自己进度好慢,想快又会着急,一着急就记不住,冷静一下。。。冷静一下。。。

要热爱它,哪怕只是假装的热爱,在它身上投入大量时间,等着漂亮的烟花盛开的那一刻,加油

你可能感兴趣的:(菜鸟学习javascript28 逻辑操作符)