zoukankan      html  css  js  c++  java
  • 关于javascript中的操作符&&和||的最终返回值

    以前一直误以为操作符逻辑与(&&)和逻辑或(||)的最终返回结果只有true或者false两种,今天在调试程序的时候才醒悟原来不是这样的。

    首先这两个操作符都有两个操作数,都可以应用于任何类型的操作数,而不仅仅是布尔值。

    那么哪些值会被当做假呢?

      除false,null,undefined,空字符串" ",数字0,数字NaN这些会被当做假,其他所有值都被当做真(包括true,"false",以及所有的对象,可以使用Boolean来测试一个值到底被转换成了什么,例如Boolean('false') 返回的应该是true 

    ① 逻辑与(&&)遵循的规则

    首先计算左边表达式的值,如果为false或者可以转换为false(值被当做假),那么返回左边表达式的值,否则将返回右边表达式的值作为&&的运算结果。

    ② 逻辑或(||)遵循的规则

    首先计算左边表达式的值,如果不为false或者不可以转换为false(值为真),那么返回左边表达式的值,否则返回右边表达式的值作为||的运算结果

     
  • 相关阅读:
    随性
    PHP csv文件处理时中文转码
    content...
    macro
    docker Alpine 编译安装node.js的dockerfile文件
    docker hub登录不上一直卡的原因
    java接口与模式(观察者)
    java模式的一点感受
    编码原则之接口隔离
    如何获取web应用的部署路径(多种方式)
  • 原文地址:https://www.cnblogs.com/yangfei/p/3112720.html
Copyright © 2011-2022 走看看