永发信息网

js var a=10; console.log(a++-1);为什么输出9?

答案:3  悬赏:50  手机版
解决时间 2021-02-24 18:57
  • 提问者网友:回忆在搜索
  • 2021-02-23 23:57
js var a=10; console.log(a++-1);为什么输出9?
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-02-24 00:33
计算优先级问题。
a++并不会先将a进行+1操作,而是等运算结束后,再+1。
所以,a++-1的计算步骤如下:
1. a - 1 (即打印出9)
2. a++ (最后a的值实际上是11,而不是10)
全部回答
  • 1楼网友:话散在刀尖上
  • 2021-02-24 01:54
var a=10;
//++a
//console.log(++a-1)//10
//console.log(a)//11
//a++
console.log(a++-1)//9
console.log(a)//11
  • 2楼网友:渊鱼
  • 2021-02-24 01:00
a++返回的是10,再减去1,得到9.追问a++是怎么等于10的?追答a++ 和 ++a的相同点都是给a+1,不同点是a++是先参加程序的运行再+1,而++a则是先+1再参加程序的运行。
写程序尽量不要用a++或者++a,因为太绕,容易把自己绕进去。如果非要用,一行写一句。
虽然我们明白两者的区别,可以很好的区分,但是不同程序的解析方式是不一样的。有些程序不按照这个规律来,所以最好不要这么写。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯