目录
比较运算符
逻辑运算符
&&(与)
||(或)
两真(||左侧为真,||右侧为真)
两假(||左侧为假,右侧为假)
一真一假(||一侧为假,另一侧为真)
!(非)
比较运算符
逻辑运算符
&&(与)
var a=1;if(1<a<3){console.log('你好');}
很显然不符合逻辑,因为a等于1,而条件里是(1<a<3),按照逻辑来是无法打印你好
这是因为在js里,不能将两个运算符放在变量的两侧
正确的写法如下:
var a=1;if(a>1&&a<3){console.log('你好');}
a=1,条件是a>1并且a<3,因此没有执行if语句里的打印。
&&(当运算符左边表达式为false,立马返回当前值;当左边表达式为true时,立马返回右边值)
通俗的来讲,如果表达式的左侧为false,那么整个表达式都不会再进行下去,如果左侧为真,
那么继续看右侧是否为真,右侧为真,才会执行下面的语句,反之结束。
||(或)
两真(||左侧为真,||右侧为真)
var a=1;var b=3;if(a<3&&a<4){console.log('你好');}
两假(||左侧为假,右侧为假)
var a=1;var b=3;if(a>3||a>4){console.log('你好');}
两侧为假的话, 就不会再去执行console.log('你好');
一真一假(||一侧为假,另一侧为真)
var a=1;var b=3;if(a<3||a>4){console.log('你好');}
!(非)
var a=1;if(!(a<3)){console.log('你好');}
var a=1;if(!(a>3)){console.log('你好');}
!真=假 !假=真