【发布时间】:2017-10-05 14:35:41
【问题描述】:
如果有人在 Empty for loop - for(;;) 或网站上的其他地方提出过这个问题,我深表歉意。
我想知道是否有人知道为什么 java 会选择让他们的解析器/编译器将 for(;;){} 循环中的空条件语句评估为 true 而不是 null 或 void ?
由用户@Mchi 链接
https://developer.mozilla.org/en/JavaScript/Reference/Statements/for
"在每次循环迭代之前要计算的表达式。如果此表达式计算为真,则执行语句。此条件测试是可选的。如果省略,则条件始终计算为真。如果表达式计算为假,则跳过执行到 for 构造之后的第一个表达式。”
我只是好奇。
【问题讨论】:
-
相反的应该是假的。不是无效的
-
可能是因为 Java 从 C++ 继承了这个特性,而 C++ 又从 C 继承了这个特性,并且在 1970 年代很久以前有人提出
for (;;)应该是一个有限循环的想法。 -
请正确标记您的问题。 Java 和 Javascript 是不同的语言。
-
(在 Java 中......循环不会“评估”任何东西。它不是表达式。)
-
你指的是Java还是JavaScript?
标签: java for-loop conditional