JS比较运算符,逻辑运算符

比较运算符:> , < ,>=,<=,!=,

返回的结果是boolean值

比较数值:

其他同理

比较字符串:

比较字符串,就是比较ASCII码

如果是多个字符的字符串比较,先比较第一位,如果第一位相同,再比较第二位

还有一些系统的关键字,比如:

然后再看NaN

NaN是个特例,他不等于任何东西,甚至是自己

--------------------------------------------------------------------------------------------------------------------------------

逻辑运算符: &&    ||       !

逻辑运算符也是返回一个结果的,了解逻辑运算符之前需要知道,系统把什么情况判断为false

undefined ,null,NaN,“”,0,false  ==》false

1,先看第一个“与”运算符,在平常,我们最多是用在判断,那么现在在来看下面的情况

你觉得a应该是多少?true?不对,是2

现在只说&&里只有两个表达式的情况,

如果&&两边各一个表达式,他会首先看第一个表达式转换成boolean值的结果,如果为true,直接返回第二个表达式;如果为false,那么他直接返回第一个表达式的值(记住,是值哦)

接下来再看两个:

这个是因为,第一个表达式转换为Boolean是真,所以返回第二个表达式的值(2+2)

这个是因为第一个表达式转换成boolean值是false,所以直接返回第一个表达式的值(0)

如果是3个或者多个&怎么判断的呢?

他会逐个判断,遇到boolean值为假,就停止并且将假的值返回

所以2个表达式的&&语句可以用做判断

2 > 1 && document.write("AAAAAA");

被叫做短路语句

var data = ...;

data && 执行一个语句,会用到data

2, ||运算符

和&&运算符正好相反,他向后查询一个boolean值为真的值,如果查到,就将真的值返回,如果没有,就返回最后一个值

||  一般用作兼容性

3,!运算符(非)

先把这个东西转换成boolean值,然后在取反

!!----》把表达式变成boolean值

这里,先要知道 ||  比 = 优先级高

如果

这样就会报错

如果有小括号,会先运行,先把foo赋值为bar,然后再看第一个window.foo,发现为真,就返回bar

猜你喜欢

转载自blog.csdn.net/VVVZCS/article/details/81837027