首页 新闻 会员 周边

请问下面这段JavaScript代码为什么结果是3?

0
悬赏园豆:5 [已解决问题] 解决于 2012-08-29 16:11
var a=2,b=3;a++==b?a:b;

请问上面这段JavaScript代码为什么结果是3?

草根程序猿的主页 草根程序猿 | 初学一级 | 园豆:129
提问于:2012-08-29 15:59
< >
分享
最佳答案
0

        window.onload = function () {
            var a = 2, b = 3;
            alert(a);
            alert(a++ == 2 ? a : b);
            alert(a);
        }  试试这个就知道了

收获园豆:5
xyq_雨晴 | 初学一级 |园豆:159 | 2012-08-29 16:10
其他回答(4)
1

a++ 结果是2  不等于 b 的值为3

3元表达式  条件为true 为?后面的值  false  为 : 后面的值

暗尘掩月 | 园豆:183 (初学一级) | 2012-08-29 16:11

非常感谢,你的回答更清楚,可是已经结帖了

支持(0) 反对(0) 草根程序猿 | 园豆:129 (初学一级) | 2012-08-29 16:12
0

a++就是程序执行完毕后补做一个a=a+1,所以第一次执行的时候a的值是不会变的,a不等于b,所以值为3.

幽谷草 | 园豆:202 (菜鸟二级) | 2012-08-29 16:13
0

a++ 当然是3 了,a++直接把结果3赋值给a了, 跟 后面的那个3元运算没关系,后面那个3元没有赋值操作

Qlin | 园豆:2403 (老鸟四级) | 2012-08-29 16:13
0

a++的结果是2,但此时a的值是3

artwl | 园豆:16736 (专家六级) | 2012-08-29 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册