如果我不知道函数的内容,我该如何防止这种无限循环

时间:2013-06-30 12:14:20

标签: javascript inheritance

如果他的创建者忘记了var关键字,我如何在变量中将变量与变量隔离开来?

for (var i = 0; i < 4; i++) 
{
    test();
}

function test() 
{
    i = 0;
}

2 个答案:

答案 0 :(得分:3)

将你的for循环放在一个单独的范围

在一个函数中。

function test(){
  i = 0;
}
function trial(){
  for (var i = 0; i < 4; i++){
    test();
  }
}
trial();

这样只有trial函数中的代码和函数才能访问在该级别声明的变量。

答案 1 :(得分:3)

与使用范围界定的前一个答案相同,但更好的方法是使用IIFE:

(function () {
    for (var i = 0; i < 4; i++) {
        test();
    }
})();

http://jsfiddle.net/8vBc5/