两道例题理解++a和a++

一、++a:

var a=1;
var b= ++a + a + ++a + ++a + 1 + a;
console.log(a);
console.log(b);

试求a的值和b的值

首先a是好求的,看有几个自增,++a ++a ++a三个自增,加上本身的1,即a=4;

b=2+2+3+4+1+4=16;

++a就是直接自增并且带入运算即可

第一个++a,原本a=1,++a就等于2

第二个a就直接变成2了

第三个++a,a已经是2了,再自增1,++a就等于3

第四个++a,a已经是3了,再自增1,++a就等于4

第五个1,直接加1

第六个a已经等于4了,直接加4

二、a++

var a=1;
var b=a + a++ + a++ + 1;
console.log(a);
console.log(b);

 试求a的值和b的值

首先a是好求的,看有几个自增,a++ a++ 两个自增,加上本身的1,即a=3;

b=1+1+2+1=5

第一个a,原本a=1,直接加1

第二个a++,与++a不同,a++还等于1(为什么看下面解释),后面还用的上a,下面的a需要自增1,直接加1

第三个a++,由于前面的a++,此时a++等于2,直接加2

第四个1,直接加1

解释:对于b,前++,a需先自加再进行计算。

后++,要看后面是否再次用到a,如果用到,才在后面的a加上,如果没用到,就不加了。

最后一道总结++a和a++的题

var a=1;
var b=++a + a++ + ++a + a++;
console.log(a);
console.log(b);

 试求a的值和b的值

首先a是好求的,看有几个自增,4个加本身,a=5;

b=2+2+(2+1+1)+4=12

第一个++a直接自增a=2,直接加2

第二个a++直接抄前面a的值,还是2,直接加2,由于后面还用了a,下面的a需要自增1

第三个++a,本身已经变成了2,由于前面的a++,需要+1,又由于自身++a,还需要+1,所以2+1+1,直接加4

第四个a++,直接抄前面a的值,后面没有用a了,所以直接就是4,加4

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值