Javascript 之间的差异-var+;1和var++;
我想知道为什么int++不工作,而int+1工作。有人知道为什么在我的例子中会发生这种情况吗?有什么区别吗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
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的情况下。