有人可以爲我解釋此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