javascript - 为什么下面的代码在 JavaScript 中有效并且没有给出编译器错误
问题描述
for(i=0; i<=10; i++);
{
document.writeln(i);
}
java 脚本忽略大括号并打印 11。为什么我没有收到编译器错误。
解决方案
循环可以for
表示为:
for () ... ;
或者
for () { ... ; ... ; }
你选择了前者,除了你在条件和结束表达式之间什么都不;
做,每次循环时都会被评估。
然后{ ... }
是一个块。它没有理由成为一个块,因为你没有在块级别(比如 use let
)在它里面做任何事情。
document.writeln(i)
写出 的当前值i
,即 11,因为这是在i
不满足条件之前命中的值i <= 10
。
对于要与for
循环关联的块,您必须在它之前没有a ;
。
推荐阅读
- jquery - 发出 AJAX 请求后如何切换视图?
- python - 在 Python numba 函数中使用 hashlib 中的函数
- nginx - Keycloak NGINX 反向代理问题
- google-cloud-dataflow - 增加工人会导致 Dataflow 作业挂在 TextIO.Write 上 - 使用 DirectRunner 快速执行 - Apache Beam
- javascript - if-else 中的条件应该是什么,如果提示为 null 或在没有输入任何数据的情况下进一步输入?
- java - 获取 url java 的协议和 www
- service - OGC API 功能和 GeoServer
- c# - 选择正确的测试项目
- arrays - Gson toJson 转换 OutOfMemory(OOM)
- go - 如何在自定义控制器中强制对 SharedIndexInformer 进行完全重新同步