逻辑操作符:非(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:感觉自己进度好慢,想快又会着急,一着急就记不住,冷静一下。。。冷静一下。。。
要热爱它,哪怕只是假装的热爱,在它身上投入大量时间,等着漂亮的烟花盛开的那一刻,加油
网友评论