我正在編寫使用C#編寫javascript塊的小工具。我想了解三元運算符的執行流程。現在,當我運行使用Chrome或Firefox的一個javascript:Javascript三元運算符結果
var k = 27;
var o = 78;
var a = k < 100 ? o+=2 > 11 ? "T" : "F" : o < 100 ? "J" : "P";
alert(a);
它應該有給我造成「T」或「F」如果「O + = 2」返回false。但不是那些返回「78F」。任何人都可以請解釋一下它背後的邏輯。基於該operator precedence table
我會建議不要嵌套三元運營商進行評估。儘管擁有一行代碼總是很好的,但其他開發人員可以更容易理解是否將它分解爲if-else語句。我曾經不得不在一個應用中使用多達6個嵌套三元組。這是一個調試的野獸。 – HockeyJ
請使用大括號'('和')'來區分表達式,並讓每個人的眼睛更容易。它很可能會給你想要的結果。 – Aukhan
嵌套三元組是一個可怕的想法.. – rlemon