var i = 0
function bumBum() {
if (++i == 12){
console.log("fin");
i = 0;
}else{
console.log(i);
bumBum();
}
}
bumBum();
正在浏览一些代码并看到有点像这个,我想我错过了一些基本但我无法理解为什么(如果是这样)++我影响全球我
答案 0 :(得分:0)
在JS中,默认情况下所有变量都是全局变量,除非您在其他范围内指定var
关键字。这意味着i
的增量(通过执行++i
)会影响var i = 0
。如果您希望它不影响全局变量,请在var i
函数内指定bumBum
。
关于++i
++i == 12
意味着首先将i增加1(与i = i+1;
或i += 1;
相同),然后将其与12进行比较
i++
意味着先将它与12比较,然后再增加i
i--
与i -= 1
++i == 12
与i + 1 == 12