逻辑运算符和逗号运算符

 

-什么是逻辑运算符?

  1. 名称:逻辑与 &&

  2. 格式:条件表达式A && 条件表达式B

  3. 返回值:true和 false

  4. 特点:一假则假

            let msg = true   &&  true;// true
            let msg = false   &&  true;// false
            let msg = true   &&  false;// false
            let msg = false   &&  false;// false

     

  5. 名称:逻辑或 ||

  6. 格式:条件表达式A || 条件表达式B

  7. 返回值:true和 false

  8. 特点:一真则真

        let msg = true  ||  true;// true
        let msg = false   ||  true;// true
        let msg = true   ||  false;// true
        let msg = false   ||  false;// false

 

  1. 名称:逻辑非 !

  2. 格式:!条件表达式

  3. 返回值:true 和false

  4. 特点:真变假,假变真

        let msg =!true; //false
        let msg =!false; //true

 

-逻辑运算符的结合性和优先级

  • 结合性是左结合性(从左至右的运算)

  • 逻辑运算中逻辑与(&&)的优先级高于逻辑或(||)

    
    let msg =true||false&&false;//let msg =true||false;   let msg =true;
    console.log(msg);//控制器输出的是true

 

逻辑运算符的注意点:

1.在逻辑运算中如果不是布尔类型,那么就会先转换为布尔类型,再参与其他的运算

    let msg=!1;//let msg=!true;     返回false
    let msg=!0;//let msg=!false;    返回true

 

2.在逻辑与运算中,如果参与运算的条件(有一个)不是布尔类型,返回值有一个特点

格式:条件A && 条件B

  • 如果条件A不成立(false),那么就会返回条件A

  • 如果条件A成立(true),那么无论条件B是否成立,都会返回条件B

        //如果条件A不成立(false),那么就会返回条件A
        let msg =0  &&  12;//0
        let msg=null  &&  12;//null
        //如果条件A成立(true),那么无论条件B是否成立,都会返回条件B
        let msg =1 &&  null;//null
        let msg=1  &&  123;//123

 

3..在逻辑或运算中,如果参与运算的条件(有一个)不是布尔类型,返回值有一个特点

格式:条件A || 条件B

  • 如果条件A成立(true),那么就会返回条件A

  • 如果条件A不成立(false),那么无论条件B是否成立,都会返回条件B

        //如果条件A成立(true),那么就会返回条件A
        let msg = 6 ||  0;//6
        //如果条件A不成立(false),那么无论条件B是否成立,都会返回条件B
        let msg =0 ||  null;//null  条件A和条件B都不成立
        let msg=0  ||  123;//123

 

4.在逻辑与运算中,有一个逻辑短路的现象

-有什么用处?

可以提升效率,减少代码执行的时间。

 

格式:条件A && 条件B

因为逻辑与运算的规则是一假则假,所以只要条件A是假的,那么条件B就不会被运算。

         let num=1;
//条件A(1>2)的结果是假的,结束运算。短路
         let msg =(1>2)&&(++num>0);
         console.log(num);//1   说明条件B没有被执行运算,所以num没有任何变化。
         console.log(msg);//false 

 

5..在逻辑或运算中,有一个逻辑短路的现象

格式:条件A || 条件B

因为逻辑与运算的规则是一真则真,所以只要条件A是真的,那么条件B就不会被运算。

		 let num=1;
//条件A(1<2)得结果是真的,结束运算。短路
         let msg =(1<2)||(++num>0);
         console.log(num);//1   说明条件B没有被执行运算,所以num没有任何变化。
       	console.log(msg);//true 

 

 

逗号运算符 ,

-在JavaScript中逗号运算符一般用于简化代码

// 利用逗号运算符可以同时定义多个变量,减少代码量
        let a,b;
// 利用逗号运算符可以同时给多个变量赋值,减少代码量
        x=1,y=2;

 

-逗号运算符的结合性和优先级

逗号运算符是左结合性(从左至右运算)

逗号运算符的优先级是所有运算符中最低的(相当于青铜级别的)

 

逗号运算符也是一个运算符,相应的也有运算符结果,它的运算结果就是最后一个表达式的结果。

表达式1,表达式2,表达式3,...;

//第一个表达式结果为2,第二个表达式结果为3,第三个表达式结果为4. 	
		let msg =((1+1),(1+2),(1+3));
//   控制台输出的结果为4,说明逗号运算符的运算结果就是最后一个表达式的结果
      	console.log(msg);//4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值