以下是一个简单的示例,我希望输出为值为10和20的2个警报。但是我收到错误。这是为什么?
<script>
var a = 10
(function alpha(){
alert(a);
a = 20;
alert (a);
})();
</script>
答案 0 :(得分:5)
只需添加分号即可将10作为函数调用:
var a = 10; // <=== add a semicolon here!
(function alpha() {
alert(a);
a = 20;
alert(a);
})();
&#13;
Javascript通常忽略了分号的缺失。但是有些情况下分号非常重要,就像在这里一样,10由于旁边的括号而被称为函数:
var a = 10( function alpha(){} )();
为什么要避免将来遇到这类问题,无论是否有必要添加分号都是一种爱好。
一些JavaScript编码标准允许你省略行尾的分号,但诀窍是你必须在大多数行的开头放一个以方括号的左括号开头。