运算符(二)

在JS中为我们提供了三种逻辑运算符。

!表非

格式:a = !a。所谓的非运算就是对一个Boolean值进行取反运算。true变false。false变true。

如果对一个非Boolean值进行运算,则会先转换为Boolean值在进行非运算。所以我们可以将一个非Boolean值转换为Boolean值。如a = !!a。可以取两次反来将其转换为Boolean类型。

&&表与

可以对符号两侧的值进行与运算并返回结果。如:a = true && true。只有两个值都是true,则返回值为true。只要有一个false,则返回false。

||表或

可以对符号两侧的值进行或运算并返回结果。只要有一个true则返回true。只有两个false的时候才返回false。在||左侧如果为false,则要进行||右边的运算。若左侧为true,则不会进行||右边的运算。

(以上都是Boolean值的逻辑运算)

非Boolean值的与和或的运算。

对非Boolean值进行与或运算的时候,会将其转换为Boolean值,再运算,并且返回原值。

与运算:

true&&true时。则返回后面的值。

false&&true时,返回false值。

false&&false时,返回靠前的false。

特点:如果第一个值为true,则必然返回第二个值。若第一个为false则直接返回第一个值。

或运算:

如果第一个值为true,则直接返回第一个值。

如果第一个值为false,这直接返回第二个值。

赋值运算符

= 将右侧的值赋给左侧。

a  = a + 5等价与a += 5。+=是一个运算符。(-=和+=用法一样,乘除取余也是)

关系运算符

>判断符号左侧的值是否大于右侧的值,如果关系成立,则返回true。否则返回false。如a=5>3。则此时a的值为true。

还有>=(大于等于号),<(小于号),<=(小于等于)。

非数值的情况,先将非数值转换为数值,再进行比较。(ps:任何值和NaN做比较的时候都是false)如果比较两个字符串型的数字,可能会得到不可预期的结果。所以我们可以将其中一个转换为number类型再进行比较。

特殊情况,如果符号两侧都是字符串,不会将其转换为数字比较,二是比较两个字符串的字符Unicode编码。所以我们可以利用它来进行英文字母的排序。

原文地址:https://www.cnblogs.com/ccqq/p/11198995.html