zoukankan      html  css  js  c++  java
  • js中的 || 与 && 运算符详解

    js中逻辑运算符在开发中可以算是比较常见的运算符了,主要有三种:逻辑与&&、逻辑或||和逻辑非!。

    当&&和|| 连接语句时,两边的语句会转化为布尔类型(Boolean),然后再进行运算,具体的运算规则

    重点:

    表达式a && 表达式b :  计算表达式a(也可以是函数)的运算结果,
                          如果为 True, 执行表达式b(或函数),并返回b的结果;
                          如果为 False,返回a的结果;

    表达式a || 表达式b :   计算表达式a(也可以是函数)的运算结果,
                          如果为 Fasle, 执行表达式b(或函数),并返回b的结果;
                          如果为 True,返回a的结果;


    转换规则:
    
    对象为true;
    非零数字为true;
    
    零为false;
    
    非空字符串为true;
    空字符串为法false;
    其他为false;
    
    例如:
    var  a =  obj || " "  ;     //如果 obj 为空,a就赋值为 " " ;
    var  a = check() &&  do();    //如果check()返回为真,就执行do(),并将结果赋值给 a;
    
    逻辑或 ||  : var a = 表达式1 || 表达式2
    
          表达式1    表达式2    a取值
            1          0      表达式1结果值
            1        1      表达式1结果值
            0        1      表达式2结果值
            0        0      表达式2结果值
    逻辑与 &&  : var a = 表达式1 && 表达式2
    
          表达式1    表达式2    a取值
    
            1          0      表达式2结果值
            1        1      表达式2结果值
            0        1      表达式1结果值
            0        0      表达式1结果值
    
    主要原因是因为短路,逻辑或 || 在前面有一个ture的时候则不看后面直接停止,逻辑与&&同理。
    然后计算赋值和我们平时一样之获取最新的一次计算结果值。
    

    例如

    1
    b = (1 + 1, 2 + 2, 3 + 3);//b=6;

    嘛嘛,当然只是猜测。

      

      

    参考:https://www.jb51.net/article/140789.htm

  • 相关阅读:
    课程总结
    课程总结
    十四周实验报告&&课程总结
    记事本代码
    第十三周课程总结
    第十二周课程报告
    PTA实验 链表拼接 (20point(s))
    课程总结
    第十四周课程总结&实验报告
    第十三周课程总结
  • 原文地址:https://www.cnblogs.com/mmzuo-798/p/14302019.html
Copyright © 2011-2022 走看看