前言和逻辑,或称逻辑,是任何编程语言和计算机相关学科的基础。在各种流程控制中自然而然地经常使用它,但是稍微利用一下它的判断机制可以在一定程度上简化我们的程序代码。,避免ifelse语句过多导致程序臃肿。第二个表达式会在计算出c后判断c。如果c为假值,则不会计算d。你可以通俗地说,这种现象叫做“短路”//所有四个函数都会运行:a()&b()&c()&d()//只有当左边的函数返回时,右边的函数才会执行falsevalue:a()&&b()&&c()&&d()orlogic:a|b,c||d//四个函数都会运行:a()|b()|c()|d()//右边的函数只有当左边的函数返回真值时才会执行:a()||b()||c()||d()当object尚未计算或尚未获取,可以设置默认显示的文本//当title为null、undefined、''或0时,不显示title。那么在返回查询结果的一个属性时,可能需要判断查询结果为空,否则会触发异常:Cannotreadproperty'key'ofnullletresult=query()if(result!=null)returnresult.keyelsereturnnull使用||的机制可以简化为:当查询结果为空时,将其转换为对空对象{}的属性访问,并返回逻辑假值undefined,return(query()||{}).key也可以使用&&改变方式:如果结果为空,则阻塞对其属性的访问letresult=query()return(result&&result.key)||null设置优先级如果操作系统中的各个进程都在竞争资源,select其中,优先级最高的进程使用or逻辑来体现左边进程的优先级最高a()||b()||c()||d()与逻辑略有不同。适用于需要在左边过程满足的情况下进行右边过程的场景,返回最右边的过程a()&&b()&&c()&&d()避免被零除异常当b不存在时,括号表达式的值为Infinity,整个表达式的值为0而不是Infinity,从而避免了很多场景a/(b||Infinity)的异常
