首页 > 解决方案 > 为什么下面的代码在 JavaScript 中有效并且没有给出编译器错误

问题描述

for(i=0; i<=10; i++);
{
    document.writeln(i);
}

java 脚本忽略大括号并打印 11。为什么我没有收到编译器错误。

标签: javascript

解决方案


循环可以for表示为:

for () ... ;

或者

for () { ... ; ... ; }

你选择了前者,除了你在条件和结束表达式之间什么都不;做,每次循环时都会被评估。

然后{ ... }是一个块。它没有理由成为一个块,因为你没有在块级别(比如 use let)在它里面做任何事情。

document.writeln(i)写出 的当前值i,即 11,因为这是在i不满足条件之前命中的值i <= 10


对于要与for循环关联的块,您必须在它之前没有a ;


推荐阅读