一、逻辑运算符
逻辑运算符
!逻辑符,
!可以对一个值进行非运算(取反操作),如果值是true,则变成false,false变成true;如果对一个非布尔值进行逻辑非运算,它会先将其转换为布尔值,然后再取反
利用这一点可以对任意值,取两次反,将其转换为布尔值,原来和boolean()函数一样
&& 逻辑与
可以对符号左右两侧的值进行运算,如果两侧的值都是true,则返回true,否则返回false,
与运算是找false,false&&false返回false,与运算是短路的yu,如果第一个值是false,则不会去看第二个值
|| 逻辑或
可以对符号两侧的值进行或运算符,如果两侧有一个true,就返回true,否则返回false
或运算是找true,或运算是短路的或,如果第一个true,则不会看第二个值
二、非布尔值的运算符
与运算,如果对非布尔值进行运算,会首先将其转换为布尔值,然后运算,最终返回原值
与运算是找false,如果第一个值是true,则返回第二个值,如果第一个值是false,则返回第一个值
或运算是找true,如果第一个值是true,则直接返回第一个值,否则返回第二个值
简而言之,与找false,或找true
三、关系运算符
关系运算符,用来比较两个值之间的大小等于的关系,使用关系运算符,如果关系成立则返回true,不成立则返回false
>比较左侧值是否大于右侧值
>=,比较左侧值是否大于或等于右侧值
<,比较左侧值是否小于右侧值
<=,比较左侧值是否小于或等于右侧值
对于非数值类型的值进行大于小于的比较时,浏览器会自动将其转换为数字然后再比较
任何值和NULL作比较最后的结果都是false,注意。如果比较的是两个字符串的大小,则情况比较 特殊,它不会将其转换为数字进行比较,而是逐位比字符串的字符编码,利用这个特点可以对一个字符串按照字母顺序进行排序result = ‘5’ > ‘10’;//true,因为是逐位比较,5>1,后面的0已经不用管了;result = ‘a’ < ‘b’;//true