为什么在 Javascript 中使用空的 for 循环 - for(;;).

Why use an empty for loop in Javascript--for(;;)?

本文关键字:for 循环 Javascript 为什么      更新时间:2023-09-26

我现在忘记了在哪里,但我在某处读到for(;;){...}和说while(1){...}是一样的。这个答案证实了这是真的,并解释了为什么for(;;)有效。但是,它没有详细说明为什么它会有用,而且我似乎找不到空for循环与while循环相反的任何基准。

它相当令人困惑(尽管不可否认很聪明),但它短。谷歌的闭包编译器将while(true)转换为空的for循环,所以一定是有原因的。

dr:为什么我应该在while(1)循环上使用空的for循环?

键入时间较短。这确实是唯一的原因。很多人只是以这种方式编程长大的,这是一个习惯问题。

我依稀记得有一段时间和语言for(;;)更快。但总的来说,现在任何半体面的优化编译器/解释器都是过去了。

它稍微更惯用一些,大概是因为它的键入时间更短,而且有一个时代比代码可读性更重要。 我在软件工程书籍中读到,for(;;)while(1)更容易跳出"无限循环"的意思,所以如果这是一个惯例,最好坚持下去。 不过,这绝不是一个强有力的约定,它们在我能想到的任何方面在技术上都是等效的。