JS在同一个函数里面,如果有两个for循环,两个循环里面分别定义了2个同名的局部变量,会起冲突吗?

例如这样:
for(……){ var a=0; }
for(……){ var a=9; }
这两行代码在同一个函数里,会起冲突吗?
for( var a=0;){ ……}
for( var a=9;){ ……}
如果这样会起冲突吗?

一般不会起冲突
因为你后面的语句,里面用了var,相当于重新定义了变量。

但是如果前一个for循环中,执行效率很低,循环体有可能还未执行完毕,
就进入下一个for循环,有可能会有冲突。

最好的解决办法是,1)变量换名
2)确保for循环执行都是立即执行的,否则使用回调的方法(因为for循环很快,快于里面代码块的执行)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-01
没有冲突! 你加了var就是在这个语句里是局部变量
相似回答