5-3的问题 x8=x1++-x2;是怎么样的运算规则?

5-3的问题 x8=x1++-x2;是怎么样的运算规则?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title> ++和--的运算</title>
</head>
<body>
    <script>
 //代码补充
     var x1=4,
         x2=5;
         x3=x1+x2;
         x4=x1-x2;
         x5=x1*x2;
         x6=x1/x2;
         x7=++x1+--x2;
         x8=x1++-x2;
         x9=x1++-x2--;
         x10=x2---x1;

    console.log(x1);  //4
    console.log(x2);  //5
    console.log(x3);  //9
    console.log(x4);  //-1
    console.log(x5);  //20
    console.log(x6);  //0.8
    console.log(x7);  //5+4=9
    console.log(x8);  //5-5=0  ???
    console.log(x9);  //5-5-1  ???
    console.log(x10); //4-4=0  ???
 </script>
</body>
</html>

http://img1.sycdn.imooc.com//climg/5a4241c00001e6a718430979.jpg


我的问题是 想我这样写的关于后台打印输出28.29.30输出的结果和我的运算结果不一样,请问我正确的运算顺序是是什么??


另外我也不知道我这么写的运算是否有意义?就是想试验一下运算和结果是不是一样的??



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕糖 2017-12-27 09:51:30

你好,以下代码中添加了注释说明,以及修改,可参考理解下。

<script>
    var x1=4,
        x2=5;
        x3=x1+x2;  // x3 = 9;
        x4=x1-x2;  // x4 = -1
        x5=x1*x2;  // x5 = 20
        x6=x1/x2;  // x6 = 0.8
        x7=++x1+--x2; // 加加(或减减)在前,自身先进行加(减),在参与运算,所以这里 x1 = 5; x2 = 4;所以x7 = 9;
        x8=x1++-x2;  // 加加(或减减)在后,先参与运算,自身在进行加(减),所以这里输出为,x8 = 5 - 4 = 1;(这里参与运算的x1 = 5,是因为x7的这个式子里,x1发生了改变,x2同理);参与运算之后,x1在进行自加,为:x1 = 6; 
        x9=x1++-x2--;  // 加加(或减减)在后,所以先参与运算,这里为 x9 = 6 - 4 = 2; 然后进行自身的改变,x1 = 7;x2 = 3; 
        x10=x2---x1;  // 这里三个符号没有分开,浏览器识别为:x10=x2-- - x1 = 3 - 7 = -4;然后x2自减,所以最后:x1 = 7;x2 = 2;
 
    console.log(x1);  //7
    console.log(x2);  //2
    console.log(x3);  //9
    console.log(x4);  //-1
    console.log(x5);  //20
    console.log(x6);  //0.8
    console.log(x7);  //5+4=9
    console.log(x8);  //5-4=1
    console.log(x9);  //6-4=2
    console.log(x10); //3-7=-4
 </script>

祝学习愉快~

  • 提问者 慕仰7477706 #1
    加加(或减减)在前,自身先进行加(减),在参与运算, 加加(或减减)在后,先参与运算,自身在进行加(减), 同一变量范围内,自身也会受加加(或减减)的改变(自身的变量也会继续递+或递-) 这部分我明白了,非常感谢!
    2017-12-28 20:15:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师