2
A
回答
3
是它的工作一樣,雖然運算符優先級始終是棘手的,所以我會建議括號,以避免混亂。
切向相關..
您還可以使用在JavaScript ||
類似空合併運算符??
在C#
1
是,三元運營商的工作方式相同in Javascript。你的例子是結合了很多表達式,所以precedence可能是一個問題。你應該用括號來確保優先級。
2
我不知道,如果這個工程:
x > 100 ? y = x : z = x ;
但這個工程:
y = x > 100 ? foo : bar ;
1
這會幫助你(在未來):
https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
首先對>
比較進行評估,因爲它已經存在默認值8. ?:
優先15,低於16的=
。這意味着三元運算符將在任何分配之前運行(即第一個操作數,條件將被評估,然後只選擇一個分支)。
也是一個簡單的測試
//x = 50;
x = 200;
x > 100 ? y = x : z = x ;
alert((typeof y)+'|'+(typeof z));
會回答你的問題。
1
是它的工作原理相同的,因爲它具有以下基本語法
condition ? true-expression : false-expression
它僅計算表達式,並且因此處理副作用,由條件所規定的表達式。
這裏有三元運算符給Mozilla文檔的鏈接
1
是,三元運營商合作在Javascript中以同樣的方式,因爲他們在C,C++,C#,Java的事, Javascript,Perl和PHP。
1
是的,根據conditional operator維基百科文章和ECMA-262標準(見第11.12節)。
1
這是一種不同的方法。您可以使用三元來將變量選擇爲方括號內的字符串。
這window
假設y
和z
是全球性的。否則,你需要給出適當的上下文。
window[x > 100 ? 'y' : 'z'] = x;
相關問題
- 1. JavaScript中的否定運算符?它是如何工作的?
- 2. javascript條件運算符格式文本
- 3. JavaScript是否支持<=運算符?
- 4. JavaScript比較運算符不工作
- 5. JavaScript增量運算符不工作?
- 6. JavaScript按位運算符如何工作?
- 7. 是否有像JavaScript一樣的API?
- 8. 是否有一個很好的Javascript算術加法運算符?
- 9. &&運算符在Javascript
- 10. 什麼是|運算符在JavaScript中?
- 11. 條件運算符是否很慢?
- 12. TypeScript是否有空條件運算符
- 13. javascript和(&&)運算符是不是裏面工作,如果塊
- 14. 是否有像bcrypt一樣的緩慢的Javascript散列算法?
- 15. Javascript編程:是否[。]總是一個運算符?
- 16. PHP smart || (OR)運算符,就像在Javascript
- 17. 是否有像條件運算符那樣縮短語句的語法?
- 18. Python是否有像Perl一樣的定義或運算符?
- 19. 有沒有像JavaScript一樣在PHP中使用or運算符的方法?
- 20. 爲什麼在JavaScript中使用這些條件運算符?
- 21. 是否在javascript中使用增量運算符而不鼓勵?
- 22. Javascript中是否存在二元真值運算符?
- 23. 在JavaScript中,使用'=='運算符是否被壓制?
- 24. OR運算符在Javascript中無法正常工作
- 25. Javascript中是否有字符串增加運算符?
- 26. 什麼是??! Javascript中的運算符?
- 27. 在條件運算符內部運行代碼是否安全?
- 28. Javascript點運算符
- 29. javascript中的點運算符
- 30. JavaScript中的ezurl運算符
我同意你.. – 2010-11-08 17:05:55
經過測試。看起來它確實有效。 'var z = 0; var y = 0; var x = 10; x> 100? y = x:z = x;'你得到'x:10,y:0,z:10'。 – 2010-11-08 17:06:18
你的例子並沒有完成和原始代碼一樣的功能 – StrixVaria 2010-11-08 17:06:19