js中 ++,-- 元运算的注意事项

网上有一句话,会绕绕弯弯的人才能长存,走直线的人死非常快,也不是说没有成功,有少的看不见。我觉这句话有道理,便有感而发。

如果一个老师,能把一件简单的事情,能绕来绕去让听者感觉很简单但又觉得很难,听者也没有觉得不舒服反而很有兴趣很有耐心的听你讲。我觉的这个老师很厉害!其他的能力不说,单凭这个本事,去听他讲课的人能学成这个本事,饭碗是比较稳的。如计算机行业,人工智能开始抢饭碗,因为发展速度太快,其他方面还没有跟上脚步,大家都说拥抱ai,其实心理也无比担心哪天饭碗就保不住了。还有现在出来工作的年轻人年年递增,好的岗位上千上万抢。还有市场竞争也非常激烈,公司时时刻刻都想替换你,公司发展的好,只是延长时间干掉你,如果能坚持到正常退休就很不错了,公司发展不好,恨不得马上把你干掉。唉!如刘强东东哥说的兄弟论一样,当初把酒言欢,事后却。。。(就事论事,东哥人还是很不错,企业生存才是最重要。),所以个人在职场混,每天如走钢丝一般。所以每天时时刻刻为自己的生存做奋斗,时刻都要防止同事顶替你的位置,老板炒你鱿鱼。如果你生活无忧,就不担心这些,否则这就是真实的写照。若果你会绕绕弯弯的本事,那就不用很担心了。 如你写代码,老板和同事都觉的你很好,也能看的懂你的代码,但一离开你,就不行了,用人工智能也不行,乖乖请你回来工作。如前阵子某公司裁员裁到大动脉,还不是乖乖的,八抬大轿请回来哈。就如下面代码例子,看着简单,如果没有搞清楚问题就会束手无策,直到知道问题出在哪里。就算简单代码,人工智能也不一定能解读的对。

a=b ++ + b++ 或b-- - b-- JS会误判把成a=(b+(++b))++或 a=(b-(--a))--

新手了解了这误区后,就看这些代码或自己写代码就轻松了。

 如:

console.log("欢迎来到 owern code");
var b=2
console.log(`1、初始值 b=${b}`)
var a = b++ + b++
console.log(`a = b++ + b++;\n结果 a=${a};b=${b}`)
console.log()

var b=2
console.log(`2、初始值 b=${b}`)
var a = b-- -b--
console.log(`a = b-- - b--;\n结果 a=${a};b=${b}`)
console.log()

var b=2
console.log(`3、初始值 b=${b}`)
var a = b-- - b-- - b--
console.log(`a = b-- - b-- - b--;\n结果 a=${a};b=${b}`)
console.log()

var b=2
console.log(`4、初始值 b=${b}`)
// a =  b--(b--=1) 1+b(1+2(b=2)) 3- (--b(--b=0)) =3-0 =3
var a = b-- + b-- - b--
console.log(` a = b-- + b-- - b--;\n结果 a=${a};b=${b}`)

结果:

欢迎来到 owern code
1、初始值 b=2
a = b++ + b++;
结果 a=5;b=4

2、初始值 b=2
a = b-- - b--;
结果 a=1;b=0

3、初始值 b=2
a = b-- - b-- - b--;
结果 a=1;b=-1

4、初始值 b=2
 a = b-- + b-- - b--;
结果 a=3;b=-1
 

下面是用人工智能github coplilot去翻译解读我写的简单代码,我增加了结果对比

var b =2,
1. `var a = b++`:这里使用了后缀形式的自增运算符,所以先将 `b` 的值(2)赋给 `a`,然后 `b` 自增 1,变为 3。
2. `var a = ++b`:这里使用了前缀形式的自增运算符,所以先将 `b` 自增 1,变为 4,然后将 `b` 的值赋给 `a`。

3. `var a = b++ +1`:这里先将 `b` 的值(4)加 1,得到 5,然后 `b` 自增 1,变为 5。
    1、var a = b++ +1;a:5 b:5

4. `var a = b++ -2`:这里先将 `b` 的值(5)减 2,得到 3,然后 `b` 自增 1,变为 6。
    2、var a = b++ -2;a:3 b:6

5. `var a = ++b +1`:这里先将 `b` 自增 1,变为 7,然后将 `b` 的值加 1,得到 8。
    3、var a = ++b +1;a:8 b:7

6. `var a = ++b -2`:这里先将 `b` 自增 1,变为 8,然后将 `b` 的值减 2,得到 6。
    4、var a = ++b -2;a:6 b:8

7. `var a = b++ + b++`:这里先将 `b` 的值(8)加 `b` 的值(8),得到 16,然后 `b` 自增 2,变为 10。
    5、var a = b++ + b++;a:17 b:10

8. `var a = --b - --b`:这里先将 `b` 自减 1,变为 9,然后将 `b` 的值减 `b` 的值,得到 0,然后 `b` 自减 1,变为 8。
    6、var a = --b - --b;a:1 b:8

9. `var a = b-- - b--`:这里先将 `b` 的值(8)减 `b` 的值(8),得到 0,然后 `b` 自减 2,变为 6。
    7、var a = b-- - b-- ;a:1 b:6

10. `var a = b-- + b--`:这里先将 `b` 的值(6)加 `b` 的值(6),得到 12,然后 `b` 自减 2,变为 4。
    8、var a = b-- + b-- ;a:11 b:4

11. `var a = --b + --b`:这里先将 `b` 自减 1,变为 3,然后将 `b` 的值加 `b` 的值,得到 6,然后 `b` 自减 1,变为 2。
    9、var a = --b + --b;a:5 b:2

12. `var a = --b + b--`:这里先将 `b` 自减 1,变为 1,然后将 `b` 的值加 `b` 的值,得到 2,然后 `b` 自减 1,变为 0。
    10、var a = --b + b--;a:2 b:0

13. `var a = --b- b--`:这里先将 `b` 自减 1,变为 -1,然后将 `b` 的值减 `b` 的值,得到 0,然后 `b` 自减 1,变为 -2。
    11、var a = --b- b--;a:0 b:-2

希望这个解释能帮助你理解这段代码的运行过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值