5-7问题

5-7问题

<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var num1=4, num2=5;
num1++;
--num2;
console.log(num1)//5
console.log(num2)//4

console.log(num1++ - --num2)//4-4=0
</script>
</body>
</html>

这里我只写了一个减法,他没有收到之前加法运算的影响,为什么依旧是等于2?????

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

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

2回答
好帮手慕糖 2018-06-30 17:51:38

你好,这里是会改变自身的值。num++或者减减的话,会改变自身的值,所以接下来运算的时候,就会以这个为准。

祝学习愉快~

好帮手慕糖 2018-06-30 16:55:19

你好,加加(减减)在前,先进行自加(减),然后参与运算;加加(减减)在后先参与运算,然后在进行自身加(减);

所以这里console.log(num1++ - --num2)的时候,参与运算的num1是5,但是--num2中减减前,参与运算的num2先自减等于3,然后3参与运算。

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

祝学习愉快~

  • 提问者 慕丝6937110 #1
    发现了问题:console.log(num1++ - --num2)这行代码他是受到9、10两行代码的影响的,如果我把9、10两行的代码删除,那么结果还真的是等于0 写了num1++ 和--num2后也就是说我把num1和num2重新赋值了一遍是吗,后面console.log(num1++ - --num2)这行代码所参照的数据是9、10两行的新的结果(即num1为5 num2为4)
    2018-06-30 17:17:03
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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