• &&和||返回值问题


       首先要知道&&和||是什么。&&是并运算符,一般用于判断语句如:
     

    1. if (a && b){
       
    2. //当a和b为真时执行
       
    3. }

          也许有人会说那  a && b  这个东西返回了true ! 那么这对么?显示是错误的,我们运行以下代码:

    1. alert( 'a' && 'b' )   //弹出 b

         看,弹出了 b  。因此我们可以知道  'a' && 'b' 这个运算的结果就是 'b' 。那有人要问那怎么解释第一个if 语句呢。我们先不关心这个问题,继续看||运算符。


     

    1. alert( 'a' || undefined )   //弹出 'a'
       
    2. alert( undefined || 'b' )   //弹出'b'
       
    3. alert( 'a' || 'b' )              //弹出 'a'

         总结第三个代码 我们发现,|| 返回了一个可以转为true的值。就是这里了。

           && 是并运算符,首先检查 左边,如果左边的值转成布尔类型后为假那就返回左值,如果左边值转成布尔类型后为真那继续较验右边值,如果右边值转成布尔类型后为假则返回右边值。如果如右边值为真是也返回右边值。

         ||  是或运算符,如果左边为真是直接返回左边值,如果左边转成布尔类型后为假时返回右边值。

         所以 && 和 || 返回的值不是true也不是false。而是将参加运算县且符合运算逻辑的值返回。

         所以有这样的赋值语句:   

    1. a = a || {}

        当 a 未定义或定义未赋值或赋值转为布尔类型为假时给a赋值空对象。

     

    原文见我博客:http://www.xdarui.com/articles/46.shtml

  • 相关阅读:
    入门学习嵌入式260期手把手配套视频7个项目实战送书
    使用from 的setTimeOut方法实现定时关闭Form
    C#面试题
    《JS语法字典》网友总结
    简单SQL语句小结
    面试前的简历
    Hello World的17种写法(C#)(转贴)
    张芸京 偏爱
    关于我对.setTmp()的理解及应用
    VS 2005使用技巧
  • 原文地址:https://www.cnblogs.com/darrel/p/2085403.html
Copyright © 2020-2023  润新知