0
e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0)
该表达式如何评估?JS中布尔运算符的优先顺序是什么?
e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0)
该表达式如何评估?JS中布尔运算符的优先顺序是什么?
您可以在MDN上找到JavaScript运算符的优先表:https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence。它是一般Javascript文档的重要来源。
无论如何,&&
优先于||
,因此a && b || c || d
相当于(((a && b) || c) || d)
。这与C语言启发的语法类似。