優先級網址
優先級:
a && b || c ? c || b ? a : c && b :a// 從優先級網址可以看出
// &&的優先級為:6
// ||的優先級為:5
// ...?...:...的優先級為:4
所以上面的執行順序為(括號的優先級最高為20):
((a && b) || c) ? (c || b) ? a : (c && b) : a
關聯:
a ? b : c ? d : e// 優先級列表第4: ... ? ... : ... 表明(Associativity:right-to-left)即從右到左
// 所以上面的執行順序是 a ? b : ( c ? d : e)具體:
true ? false : true ? true : false;// 雖然
// true ? false : ( true ? true : false); // false
// (true ? false : true) ? true : false; // false
// 執行結果是一樣的.但是過程確是不一樣的
優先級+關聯:
var a = 42;
var b = "foo";
var c = false;
var d = a && b || c ? c || b ? a : c && b : a;// d = ((a && b) || c) ? ((c || b) ? a : (c&&b)) : a
// d = 42
參考《你不知道的JavaScript》(中卷) P108~P110