如果他的创建者忘记了 var 关键字,我如何将我的变量与此函数中的变量隔离开来?
for (var i = 0; i < 4; i++)
{
test();
}
function test()
{
i = 0;
}
如果他的创建者忘记了 var 关键字,我如何将我的变量与此函数中的变量隔离开来?
for (var i = 0; i < 4; i++)
{
test();
}
function test()
{
i = 0;
}
将你的 for 循环放在一个单独的范围内:
在一个函数中。
function test(){
i = 0;
}
function trial(){
for (var i = 0; i < 4; i++){
test();
}
}
trial();
这样,只有函数内的代码和trial
函数才能访问在该级别声明的变量。
与使用范围界定的先前答案相同的想法,但更好的方法是使用 IIFE:
(function () {
for (var i = 0; i < 4; i++) {
test();
}
})();