js比较运算符和逻辑运算符的用法
一:比较运算符&&:与或非
例:var a=1 && 2+2;
document.write(a);
先看第一个表达式转换成布尔值的结果,如果结果为真,那么它会看第二个表达式转换布尔值的结果,然后如果只有两个表达式的话,只看到第二个表达式,就可以返回表达式的值了。** undefined, null, NAN,"", 0,false==>false, --->这些值转换布尔值为false &&口诀:碰到假的就停(也就是false):意思就是如果布尔值转化成false的时候就打住,直接输出这个假的,如果为真就继续转化,直至值为false的时候才停 1:如果第一个表达式的值为false的时候,直接把第一个表达式的结果返回,不返回false 目的:判断是否执行下一步 2:首先判断,然后如果为false就返回,不执行下一步 3:有两个表达式的时候,如果第一个是真,把第二个结果返回,如果第一个是假的话,就直接把第一个结果返回 var a=1 && 1 && 1; document.write(a); 如上例: 遇到有三个表达式的值也一样,三个表达式,首先看第一个,如果为真,就继续看第二个,第二个如果为真,就看第三个。 0 && document.write('a'); 不接受返回值,当作短路语句,:称为如果那么,如果读到第二句就执行,读不到就不执行 2>1 && document.write('对'); 如果2大于一九读下一个语句,执行后面的,如果前面是真,才会执行后面的语句
二:||运算符的用法:
var num = 1 || 3;
document.write('a');
这个运算符与&&相反,&&遇到false就返回,||相反遇到真就返回; 如果第一个为真,就直接返回,看到真就返回 这个例子;第一值为真,结果就是1了,因为第一个表达式的值为真,就直接返回,不需要读下面的了。
三:*!运算符用法*
var a = !123;
非:!:转换成布尔值再取反 !!:取反再取反