沒錯的,我們可愛的 Safari 又又又出現了 bug,來看看這個高級 IE 的除錯日常(Safari 愛好者不要鞭我)
沒錯的,我們可愛的 Safari 又又又出現了 bug,來看看這個高級 IE 的除錯日常(Safari 愛好者不要鞭我)
Update your browser to view this website correctly. Update my browser now
從上圖可以了解到 = 運算子的相依性是右相依性(right to left, Right Associativity),
當運算子的優先性都相同時 Javacript 會優先執行右邊的運算子,然後向左一個一個執行。a = b = c;
表達式會先執行 b = 4
,並且回傳 4 之後執行 a = 4
。
當一個表達式中具有多個運算子,大括號(parentheses)裡的運算會最優先:
1 | var a = (3 + 4) * 5; |
在判斷式中經常同時使用 &&(and)與 ||(or),需要特別注意 &&(and)優先級是大於 ||(or)的,
不過若專案中有使用到 eslint 則會提示盡量補上大括號(parentheses),來協助辨認次序唷!