【问题标题】:Please interpret this java script line of code [duplicate]请解释此java脚本代码行[重复]
【发布时间】:2016-09-20 16:05:14
【问题描述】:

有人可以为我解释这个 javascript 行吗?

    mouseWheelEventName = $.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel',

需要知道什么“?”是什么,以及 'DOMMouseScroll' : 'mousewheel' 是什么意思,特别是在行尾的“,”......为什么不是“;”

谢谢。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    这是一个三元运算符,用作简写条件语句:

    这和说的一样:

    if ($.browser.mozilla) {
        mouseWheelEventName = 'DOMMouseScroll';
    } else {
        mouseWheelEventName = 'mousewheel';
    }
    

    = 之前的第一部分是声明一个依赖于以下条件的变量 (mouseWheelEventName)。

    =? 之间的下一部分是条件($.browser.mozilla 是否为真?)。

    紧跟在? 之后的是then 部分(如果条件为真,请将变量mouseWheelEventName 设置为字符串DOMMouseScroll)。

    : 之后是 else(如果条件不成立,则将变量 mouseWheelEventName 设置为字符串 mousewheel)。

    进一步阅读: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

    至于为什么结尾有逗号,我们需要看一个更完整的代码示例,包括后面的内容才能确定。如果我不得不猜测,我会说代码的作者正在链接变量语句。这个答案可能会为您提供一些启示:Javascript best practices, why to use comma to chain function/variable declarations?(请参阅所选答案)

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 2016-09-28
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多