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

Simple JS函数未运行,出现错误

  •  -3
  • Deadpool  · 技术社区  · 9 年前

    下面是一个简单的示例,我希望输出值为10和20的两个警报。然而,我得到了错误。为什么?

    <script>
    var a = 10
    (function alpha(){
    alert(a); 
    a = 20;
    alert (a);
    })();
    </script>
    1 回复  |  直到 9 年前
        1
  •  5
  •   Denys Séguret    9 年前

    只需添加分号,使10不作为函数调用:

    var a = 10; // <=== add a semicolon here!
    (function alpha() {
      alert(a);
      a = 20;
      alert(a);
    })();

    Javascript通常忽略分号的缺乏。但是在有些情况下分号非常重要,比如在这里,10被称为函数,因为它旁边有括号:

    var a = 10( function alpha(){} )();
    

    这就是为什么为了避免将来遇到这种问题,无论是否有必要,都要把添加分号作为一种爱好。