2017-03-07 43 views

回答

4

實際上,&&操作將優先於分配。

在你的情況下,x將是1 && x > 0這是false的結果。

var x; 
 
if (x = 1 && x > 0) { 
 
    alert(x); 
 
} 
 
console.log(x); // false

可以使用括號強制執行操作的順序,as shown by Nina Scholz

+1

清晰簡潔,謝謝! –

2

您需要一些參數來將分配與正在進行的表達式分開。

var x; 
 
if ((x = 1) && x > 0) { 
 
    alert(x); 
 
}

相關問題