有人可以为我解释这个javascript行吗?
mouseWheelEventName = $.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel',
需要知道"?"是的,以及什么' DOMMouseScroll' :' mousewheel',特别是","在行尾......为什么不是&#34 ;;"
谢谢。
答案 0 :(得分: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?(见选择的答案)