Javascript 之间的差异-var+;1和var++;

Javascript 之间的差异-var+;1和var++;,javascript,node.js,int,Javascript,Node.js,Int,我想知道为什么int++不工作,而int+1工作。有人知道为什么在我的例子中会发生这种情况吗?有什么区别吗 function retryFunction(something, count) { if (!count) { count = 0; } console.log(typeof count); console.log(count); if (count < 5) { return setTim

我想知道为什么int++不工作,而int+1工作。有人知道为什么在我的例子中会发生这种情况吗?有什么区别吗

function retryFunction(something, count) {
     if (!count) {
         count = 0;
     }

     console.log(typeof count);
     console.log(count);

     if (count < 5) {
          return setTimeout(function () {
              //working
              retryFunction(something, count+1);

              //not working
              retryFunction(something, count++);
          }, 1000)
      }
}

retryFunction(null);
function retryFunction(某物,计数){
如果(!计数){
计数=0;
}
控制台日志(计数类型);
控制台日志(计数);
如果(计数小于5){
返回setTimeout(函数(){
//工作
retryFunction(something,count+1);
//不起作用
retryFunction(something,count++);
}, 1000)
}
}
retryFunction(null);

表达式
count+1
1
添加到
count
并“返回”结果


表达式
count++
返回
count
的当前值,然后将
1
添加到
count
(从而修改变量值,但在使用旧值之后)。

前缀增量与后缀增量运算符。在示例的上下文中,粗略地说,
count++
说“使用原始值调用函数,然后递增并存储在变量中”。但是,如果要使用
++count
,则表示“增加变量并将结果发送到函数。”


注意。虽然
++count
会“起作用”,但实际上你想要的是count+1;在此上下文中,将结果存储在传递的参数中是没有意义的。

(无论“不工作”是什么意思),因为在第二种情况下,
count
在调用后被激励。可能重复↑ 它不是同一种语言,但适用。尝试使用++计数而不是重复的
count+1
也可以写成
++count
@semanser,除非它不做同样的事情
count+1
不会修改
count
,而
++count
会修改。您可以将此添加到答案中。这里还有一个小例子来说明这一点。@一些程序员通常是这样的,但不是在OP的情况下。