Каков порядок приоритета для логических операторов в JS? - PullRequest
0 голосов
/ 10 октября 2011
 e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0)

как бы это выражение оценивалось?

1 Ответ

6 голосов
/ 10 октября 2011

Вы можете найти таблицу приоритетов для операторов Javascript на MDN: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence. Это отличный источник документации по Javascript в целом.

В любом случае, && имеет более высокий приоритет, чем ||поэтому a && b || c || d эквивалентно (((a && b) || c) || d).Это похоже на многие другие языки с синтаксисом в стиле C.

...