一、逻辑非操作符:!
不管值是什么数据类型,这个操作符都会返回一个布尔值。逻辑非操作符首先会将它的操作数转换为一个布尔值,注意:先赋值然后再对其求反。
注意:若是布尔值,直接求反,其他数据类型需转换成布尔值,再求反。
①数字转化为布尔值: 0和NaN就为false 其他为true
②null:转化为false
③undefined:转化为false
④string: 空字符串 为false(var str7 = '';//false),有字符的字符串为,注:var str=" "//引号中的空格也是字符
⑤Array:转化为true
⑥对象Object:转化为true
二、逻辑与和逻辑或作用符号
① 逻辑与符号:&& (为并且、and的意思)
② 逻辑或符号:|| (为或、or的意思)
// var a=A&&B //并且 and A,B是一个表达式,先把A表达式的结果判定为布尔值,如果为真变量a的值就为B表达式,如果为假a的值就为A表达式,B表达式就不会运行了.
// var b=A||B //或者 or A,B是一个表达式,先把A表达式的结果判定为布尔值,如果为假变量a的值就为B表达式,如果为真a的值就为A表达式,B表达式就不会运行了.