什么是 (;;)?

What is for(;;)?

我一直在阅读一些代码并看到一个没有语句的 for 循环,我试图搜索它的含义但一无所获(可能是因为如果我在google 它只是读起来好像是“What is for()”)。我不知道这是否只是一种喜欢禁用循环并使其不 运行 的方法(因为我测试过一次并且 de loop 中的代码没有 运行),尽管我认为人们只会评论或删除循环,我只是好奇

这与 not 运行ning 完全相反。这是一个无限循环。

for(;;){
  console.log("test")
}

打开一个新标签,然后按 F12,然后在开发人员控制台中输入上面的代码,您会看到 test 经常打印,您的浏览器/标签会很快变得无响应,并且由于计算机正忙于循环,您的 PC/笔记本电脑可能会随着冷却器加速而变得更响亮。

所以最好快速终止您正在 运行 的选项卡,或者如果您 运行 它在 Node 中使用 Ctrl + C.

终止进程

上面的代码等同于:

while(true){
  console.log("test")
}

以上是JavaScript,但JavaCC++C#。由于 for(;;) 对于这些语言来说是不正确的语法,它不会在 KotlinGoLang[= 中执行任何操作49=]铁锈SwiftGroovy(可能还有很多其他人)。

for 循环如下所示:

for (init_statement; condition; iteration_expression) statement

这相当于:

{
  init_statement ;
  while ( condition ) {
    statement
    iteration_expression ;
  }
}

省略的condition相当于true。省略 init_statementiteration_expression 就像一个空语句或表达式(什么都不做)。

所以,for(;;) statement 等同于:

{
  /* no init_statement */
  while ( true ) {
    statement
    /* no iteration expression */
  }
}