代码之家  ›  专栏  ›  技术社区  ›  Dchris

我可以在循环语句中定义函数吗?[已关闭]

  •  -2
  • Dchris  · 技术社区  · 10 年前

    我在javascript中使用如下代码。这是错的吗?

    for(i=0;i<5;i++){
    
    function somefunction(){
    /*function code here*/
    }
    
    somefunction();//call that function inside the loop
    }//end of for loop
    

    我想我用这个写了一段代码,我把一切都搞砸了。

    1 回复  |  直到 10 年前
        1
  •  3
  •   IMSoP    10 年前

    JavaScript中的函数和变量的范围最接近 作用 ,不是最近的 ( { ... } ).

    所以你不能定义 不同的 函数或变量,因为您在同一范围内覆盖了相同的名称。

    因此,将这样的声明放在循环中是一个坏主意,无论标准或实现是否允许这样做,因为这只会误导任何阅读代码的人(很可能是你自己!)。

    您可以创建 匿名的 函数,但如果没有更多的上下文,我无法给出一个例子来说明这对您有什么帮助。