Это троичный оператор, используется в качестве краткого условного оператора:
это то же самое, как говорят:
if ($.browser.mozilla) {
mouseWheelEventName = 'DOMMouseScroll';
} else {
mouseWheelEventName = 'mousewheel';
}
Первая часть перед =
объявляет переменную (mouseWheelEventName) зависимый на следующее условие.
Следующая деталь между =
?
- это условие (есть $.browser.mozilla
true?).
Сразу после того, как ?
является участком 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