简单的JS函数没有运行并给出不适当的错误

时间:2017-08-25 07:20:58

标签: javascript function

以下是一个简单的示例,我希望输出为值为10和20的2个警报。但是我收到错误。这是为什么?

<script>
var a = 10
(function alpha(){
alert(a); 
a = 20;
alert (a);
})();
</script>

1 个答案:

答案 0 :(得分:5)

只需添加分号即可将10作为函数调用:

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

Javascript通常忽略了分号的缺失。但是有些情况下分号非常重要,就像在这里一样,10由于旁边的括号而被称为函数:

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

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

一些JavaScript编码标准允许你省略行尾的分号,但诀窍是你必须在大多数行的开头放一个以方括号的左括号开头。