Js魔术需要解释

pew*_*oll -2 javascript pre-increment post-increment

我正试图在js中解决这个魔法:

var a = 1;
console.log(a++ + ++a);
Run Code Online (Sandbox Code Playgroud)

它返回4,我可以理解它是1 + 3,但这是什么顺序?

j08*_*691 5

a++ 表示在递增之前返回值

++a means表示递增后返回的值

所以要打破你的榜样:

var a = 1;
console.log(a++ + ++a);
Run Code Online (Sandbox Code Playgroud)
  1. a 被设置为 1
  2. a++返回1,然后a递增到2(但此时我们不做任何事情)
  3. ++a增量a和返回3
  4. 然后我们console.log(1 + 3)一起1来自第1步和3来自第3步.