JavaScript5-1算术操作符a++与a--

JavaScript5-1算术操作符a++与a--

++a与a++的区别不太清楚

课程例子中 var num1=10,num2=5,num3=num1++-num2

console.log(num1);   num1的值是11,num3的值是5。

a++先返回a的原值,再返回递增之后的值。那num1最终值是11,num1-num2=num3,为什么num3不是6而是5?a++先返回a的原值,再返回递增之后的值。这句话先返回a的值有什么意思,最终是a的递增不就是a+1而已吗?


var x1=20,x2=30,x3=--x1+x2--  

console.log(x1);    

console.log(x2);

console.log(x3);为什么x3的值不是48而是49。因为运算先返回原值,所以num3的运算x2是30,但是x2的值是29,那岂不是自相矛盾?


请老师详细解释“a++先返回a的原值,再返回递增之后的值。”这句话的意思。为什么表达式中的x2值的数值在表达式和x2结果会有区别?

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

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

1回答
好帮手慕星星 2018-08-12 11:46:01

1、a++(a--):先返回a的值再递增(递减)。

例如:var num1=10,num2=5,num3=num1++-num2。

num1++先返回num1就是10,然后减去5,结果就是5.

2、++a(--a):先递增(递减)再返回a的值

例如:var x1=20,x2=30,x3=--x1+x2--  

--x1先递减之后值是19,x2--先返回x2的值是30,所以最后结果是49.

自己再理解下,祝学习愉快~~

  • var num1=10,num2=5,num3=num1++-num2。 num1++先返回num1就是10,然后减去5,结果就是5. 请问上面这句话num1++先返回num1的值是10,再减去5,之后为什么不接着+1呢 意思num1++-num2里面的num1++是作废的吗?
    2018-08-23 00:37:34
  • num1本身的值是加1,但是最终的结果是按照10来计算的。自己可以打印一下num1的值。
    2018-08-23 09:23:55
  • 区别:++a先返回递增之后的a的值;a++先返回a的原值,再返回递增之后的值。 那么问题来了,++a我们知道是先返回递增之后的a的值,也就是++a=a+1,如果a=10,那么a+1=11,就是++a=11;那a++=什么?如b=5,c=a++-b如果按老师的说法就是先返回a的原值,原值a=10,那最后一句话再返回递增之后的值,递增后++a=11,这话该怎么理解呢?是先用原值a-b得到的值作为最终值,还是用递增后的值进行最终操作呢?递增后是11,11-5=6;或者这句话告诉我们的意思应该怎样去表达?既然都是递增操作,那么10-5就不应该是最终操作。求解!
    2018-08-25 18:42:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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