Javascript 奇怪的while循环元组
我正在编写一个JavaScript解析器,在prototype.js库上测试时,它在以下代码中抛出了一个错误: 第4000行:Javascript 奇怪的while循环元组,javascript,parsing,Javascript,Parsing,我正在编写一个JavaScript解析器,在prototype.js库上测试时,它在以下代码中抛出了一个错误: 第4000行: while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) { soFar = m[3]; parts.push( m[1] ); if ( m[2] ) { extra = m[3]; break; } } 我把它简化为: while
while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) {
soFar = m[3];
parts.push( m[1] );
if ( m[2] ) {
extra = m[3];
break;
}
}
我把它简化为:
while ( (a, b) == c ) {}
这真的是有效的JavaScript吗?根据ECMA-262,while循环具有以下语法:
while ( Expression ) Statement
什么样的表达式是
(a,b)==c
?我认为JavaScript不支持元组?那不是元组;这就是(另请参见)。逗号运算符先计算第一个操作数,然后计算第二个操作数,并生成第二个操作数的值。Ah,这更有意义。我刚刚检查了ECMA-262,看起来我跳过了逗号运算符。谢谢