在JavaScript中可以這樣做嗎?只在JavaScript中的三元運算符條件爲真時才分配
max = (max < b) ? b;
換句話說,只有當條件爲真時才賦值。如果條件爲假,則不做任何事(不分配)。這可能嗎?
在JavaScript中可以這樣做嗎?只在JavaScript中的三元運算符條件爲真時才分配
max = (max < b) ? b;
換句話說,只有當條件爲真時才賦值。如果條件爲假,則不做任何事(不分配)。這可能嗎?
不要使用ternary operator那麼它需要第三個參數。如果您不希望它改變(max = (max < b) ? b : max
),您需要重新分配max
到max
。
的if-statement更加清晰:
if (max < b) max = b;
如果你需要它是一個表達式,你可以(AB)使用的AND短路評價:
(max < b) && (max = b)
順便說一句,如果你想避免重複變量名稱(或表達式?),你可以使用maximum function:
max = Math.max(max, b);
沒有,是不是三元運營商特定的運算,但你可以使用它像這樣:
max = (max < b) ? b : max;
您可以只設置max
本身如果條件是假的。
max = (max < b) ? b : max;
或者你可以嘗試使用&&
操作:
(max < b) && (max = b);
或者保持代碼簡單,只需使用一個if
。
if(max < v) max = b;
與三元運算必須表達兼得值,即兩者的真假的情況。
但是,您可以
max = (max < b) ? b : max;
在這種情況下,如果條件爲假的max
價值不會改變。
是有一些原因,使用正常'if'聲明避免? – 2013-02-21 18:03:36
max =(max Pandian 2013-02-21 18:04:46
很hacky '(max Musa 2013-02-21 18:07:52