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