有人可以为我解释此javascript行吗?请解释此java脚本行代码
mouseWheelEventName = $.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel',
需要知道什么“?”确实是'DOMMouseScroll':'mousewheel',特别是在该行末尾的“...”,为什么它不是“;”
谢谢。
有人可以为我解释此javascript行吗?请解释此java脚本行代码
mouseWheelEventName = $.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel',
需要知道什么“?”确实是'DOMMouseScroll':'mousewheel',特别是在该行末尾的“...”,为什么它不是“;”
谢谢。
这是一个三元运算符,用作速记条件语句:
它是相同的话:
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?(查看所选答案)
谢谢,谢谢! – Chuckv