逻辑运算符,与,或,非,以及优先级。

常见的比较运算符有:&& , | | ,>,<,>=,<=,!=,==,===

逻辑运算符返回的结果一般是Boolean值

> < , >=,< =

var a,b,c;
a=1;
b=2;
c=a>b;

c返回的是false


当对字符串比较的时候,会比较字符串的ASCII码,如果字符串比较长就会先比较第一位,如果相同,然后比较第二位的。

  console.log('ab' < 'ba');//true

 

当字符串与数字进行比较的时候,会先将字符串按照Number的方法转换成数字再进行比较。如果转换成NaN则永远是false

    // 无法转换成数字,为NaN
    console.log('22abc' < 11);//false
    console.log('22abc' > 11);//false
    // 可以转换成数字
    console.log('22' > 11);//true

==,的比较,先转换数据类型为同一种再进行比较。如字符串与数值比较就会先将字符串传换成数字。引用类型的数据比较的是内存地址。

    // ==
    console.log('123' == 123);// true
    console.log('123abc' == 123);// false
    console.log(123 == 123);// true
    console.log('===========');
    
    // 关键字
    console.log(undefined == 'undefined');//false
    console.log(null == 'null');//false
    console.log(NaN == NaN);//false
    console.log(undefined == undefined);//true
    console.log(null == null);// true
    console.log(NaN == NaN);// false

这里需要注意的是NaN,它不等于任何东西,甚至是自己与自己相比也是不相等。


===,会先进行类型的比较,如果不是同一类型就直接返回false

    console.log(123 === 123);// true
    console.log(123 === '123');// false
    console.log(123 === 'abc');// false
    console.log(null === null);// true
    console.log(undefined === undefined);// true
    console.log(NaN === NaN); // false
    console.log({
      name: '张浩'
    } === {
      name: '张浩'
    });//false

逻辑运算符:&&,|| ,!

逻辑运算符也是返回一个结果,但是一定是Boolean类型的值。

在进行逻辑运算时系统会默认把undefined ,null,NaN,“”,0,false  当成false

1、&& 表达式两个都表达式,会首先看第一个表达式换成Boolean值得结果,如果第一个转换成true,那么就会直接返回第二个表达式(或者说执行),如果是false,就直接返回第一个表达式(执行)。

    console.log( 1-1 && 1+2);// 0
    console.log( 1 && 1+2);// 3
    console.log( null && true);// null

 如果遇到多个&符号,他就会逐个判断,只要遇到值为false的就停下返回这个表达式。


2、|| 符号

与&&是相反的,他会向后查询Boolean值为true的表达式或值,如果找到true的就直接返回,如果没有找到就返回最后一个。

  console.log( null || false || 1+1 || 0);// 2

|| 一般用做兼容性,判断浏览器是否支持当前的额对象或者函数。


3、! 把表达式变成boolean的值。

 console.log(!1);// false

运算的优先级

图片

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值