我想知道,为什么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);
答案 0 :(得分:5)
表达式count + 1
将1
添加到count
和&#34;返回&#34;结果。
表达式count++
返回count
的当前值,然后将1
添加到count
(从而修改变量值,但是使用旧值后。)
答案 1 :(得分:2)
前缀增量与后缀增量运算符。在您的示例的上下文中松散地说,count++
说&#34;用原始值调用函数,然后递增并存储在变量&#34;中。但是,如果您使用++count
,则表示&#34;增加变量并将结果发送给函数。&#34;
NB。虽然++count
会&#34;工作&#34;,你真正想要的是数+ 1;将结果存储在此上下文中的传递参数中是没有意义的。