对于一个变量来说,无论是++在前还是++在后,都是使变量在自身基础上+1。不同的是,如果让i++或者++i在参与运算的话,两者的值都不相同:
i++是先运算,在执行+1(先返回,后自增)
++i是先执行+1,后运算(先自增,后返回)
let a = 1
let b = a++ //先返回,后自增
let c = ++a //先自增,后返回
console.log(b, c) // 1 3
例如
let a = 10
let b = 5
let c = ++a + ++b
let d = c++ + ++c
console.log(a, b, c, d) //11 6 19 36
1.c = ++a + ++b ,++在前先执行+1,++a和++b都会自增+1,所以a=11,b=6。此时c = 17。
2.d = c++ + ++c,先看c++,此时先返回之前的值17,进行自增。所以在++c的时候值是19。此时d就等于17+19得到36,而c的值在经过两次自增之后得到19。
3.所以最终输出结果是a=11,b=6,c=19,d=36
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)