读书人

这样通过三元运算符如何得不到正确结果

发布时间: 2013-09-22 09:32:59 作者: rapoo

这样通过三元运算符怎么得不到正确结果?
本帖最后由 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楼的解答呢 加个括号,改变优先级

读书人网 >JavaScript

热点推荐