【问题标题】:what do javascript "function || function || function" mean ?? [duplicate]javascript“函数||函数||函数”是什么意思? [复制]
【发布时间】:2015-07-15 06:33:30
【问题描述】:

avoidP2P() || t < lowBuffer || 0 === a.size(p2pManager.swarm.utils.contributors) ? requestToCDN() : requestToP2P()

如果上述函数如下: A ||乙 || C

C 会运行吗?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    在 JavaScript 中,|| 运算符表示“或”。所以对于像A || B || C这样的函数:

    1. JavaScript 将首先尝试评估A 的值,如果是true,则执行将停止并且BC 甚至不会被调用.

    2. 但是,如果 A 评估 falsy,那么 JS 将执行 B。同样,如果B 返回true,则执行将停止,C 将不会被调用。

    3. 只有且仅当AB 都评估false,JS 才会尝试C,希望得到true 值。

    供您参考,虚假值是:

    null
    false
    0
    undefined
    ''
    []
    {}
    

    希望有帮助!

    【讨论】:

    • @sujkh85 没问题。如果我的回答对您有帮助,请点击左侧绿色选中按钮接受回答。编码愉快!
    • 确切地说,A 不是“运行”,也不会“返回”任何东西。它被“评估”为某种“价值”。此外,为了清楚起见,使用“falsy”而不是“false”可能会更好。 false 作为布尔值具有非常特殊的含义。
    • @torazaburo 你说得有道理,我会尽力修正答案。
    【解决方案2】:

    它的意思是“从这些不虚假的值中获取第一个值”,是“虚假”的一些:

    false
    null
    undefined
    0
    NaN
    ''
    

    更多信息在这里:https://developer.mozilla.org/en-US/docs/Glossary/Falsy

    【讨论】:

      猜你喜欢
      • 2011-07-08
      • 2015-04-21
      • 2015-05-15
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多