这样通过三元运算符怎么得不到正确结果?
本帖最后由 yuji821 于 2013-09-21 10:50:49 编辑
<script type="text/javascript">
function test() {
var s = "a";
var uu = "b" + s == "a" ? "c" : "d" + "e";
alert(uu);
}
</script>
为什么不是 bce 呢
弹出的结果是 de,为什么呢
------解决方案--------------------运算符优先级
------解决方案--------------------怎么也不可能得出bce 啊?
弹出的结果是 de ,是对的啊。
------解决方案--------------------条件是flase肯定是de,
function test() {
var s = "a";
var b="b";
var uu = s == "a" ? "c" : "d" + "e";
alert(b+uu);
}
分开写不就行了吗?
------解决方案--------------------var uu = "b" + (s == "a" ? "c" : "d") + "e";
------解决方案--------------------楼主的写法,de是对的,不知道楼主是否是需要4楼的解答呢 加个括号,改变优先级