为什么添加分号有时会中断if语句
Why does adding a semicolon sometimes break an if statement?
为什么你不应该在每组花括号后添加分号?我以为这是JavaScript的一个规则。例如,在这段代码片段中,由于初始if语句后面的分号,它无法工作,但随后else语句后面的分号就可以了。
function a() {
if (var >= length) {
count =
var / length;
};
else {
count = 0
};
在if
和else
之间添加分号,有效地将它们分成两个独立的块。
if
块可以单独存在,但else
块不能单独存在,因为else
依赖于if
语句中的条件。
因为整个表达式包含if
块。分号是在表达式完成之后引入的(if
花括号之后没有必要)。当您在if
后面添加分号时,您将缩短整个表达式。
if (foo === bar) {
//do something
} /** You: Ok stop doing stuff**/;
/**
Javascript: Ok! I'm done
**/
else { // Javascript: Wait, what is this crap
//nothing's gonna happen
}
第一个}
后面的分号创建一个空语句。就像你写的:
alert('test');
;
这个额外的"空"语句将if
和else
分开,因此else
块变得毫无意义。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如果 a 为 false,则 if(a) === if(false)
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 正在尝试使用if和else添加类,但无法正常工作
- 在PHP中使用javascript更改页面标题'if'
- 高亮显示与数组字符串一起使用时文本插件中断
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- 什么是&&在没有if的行中的变量之间
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- Sharepoint JScript if语句未执行
- Javascript:If-then语句在函数中不起作用
- AngularJS:ng-if 外部 ng-repeat 中断 ng-repeat
- 我的“if”语句中包含中断的错误(wrox ch 3 练习 4)
- if语句中的中断语句,该语句包含在嵌套的for循环中
- switch/if语句中断了for循环
- 为什么添加分号有时会中断if语句
- 如何在javascript中中断多个if语句