Javascript 在WHILE条件下使用多个逗号分隔的表达式的目的是什么?

Javascript 在WHILE条件下使用多个逗号分隔的表达式的目的是什么?,javascript,syntax,coding-style,Javascript,Syntax,Coding Style,我无意中发现了以下JavaScript: 代码: var x="", i=0; while (i<4, i<7, i<5, i<6) { x=x + "The number is " + i + "<br>"; i++; } document.write(x); The number is 0 The number is 1 The number is 2 The number is 3 The number is 4 The number is 5

我无意中发现了以下JavaScript:

代码:

var x="", i=0;
while (i<4, i<7, i<5, i<6)
{
  x=x + "The number is " + i + "<br>";
  i++;
}
document.write(x);
The number is 0
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
这是什么原因?行为是什么(仅对while exit计算最后一个表达式)

行为是否在所有
Javascript/C/Java
语言中标准化了?

,所以


while(i这是JavaScript中的一个特殊操作符,称为逗号操作符;
所以当JavaScript遇到这条线时

(i<4, i<7, i<5, i<6)

但是,在您的示例中,它的使用是多余的。

没有很好的理由这样编写代码。这里只使用最后一个(看……如果您知道它被称为“逗号运算符”,那么这似乎是一个愚蠢的问题):-)谢谢大家:-)它看起来不像是一个愚蠢的问题,只是一个你应该避免的愚蠢的代码。我希望这不是一种教程。当表达式实际上是赋值而不是比较时,逗号运算符当然有时会使用,因此确实有副作用。@Alnitak我指的是比较有副作用,而不仅仅是明显的赋值,如
while(我的评论不是针对你,而是针对你的读者;-)
while (i<6)
(i<4, i<7, i<5, i<6)
(0, eval)(src)