JS别人提问的一些问题

来源:互联网 发布:数据库管理是什么 编辑:程序博客网 时间:2024/06/06 05:42
<script>
       var x = 2;
       x = (2 + x++) * (10 - x++);

       alert(x);

       var y=3;

        y= (2 + ++y) * (10 - ++y);

       alert(y);

</script>


答案是28  

为什么是28呢?

请记住++的顺序就可以了,第一次2+x++得出的结果是4  此时的X是没有++的,之后是10-x++这个时候的X是3了,但是++没有执行   这个时候4*7=28  ++还是没有执行的。

y的值是30  ++总是在前面就执行了就是说2+++y是等于 6   然后10-++y 是等于 5    这个时候y等于6*5=30。

其实出题者更多的希望大家去研究++在前面或者后面在代码里面到底进行了什么,为什么会这样。++在前为什么就加了呢?++在后为什么之后在加呢!