Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 奇怪的while循环元组_Javascript_Parsing - Fatal编程技术网

Javascript 奇怪的while循环元组

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

我正在编写一个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 ( (a, b) == c ) {}
这真的是有效的JavaScript吗?根据ECMA-262,while循环具有以下语法:

while ( Expression ) Statement

什么样的表达式是
(a,b)==c
?我认为JavaScript不支持元组?

那不是元组;这就是(另请参见)。逗号运算符先计算第一个操作数,然后计算第二个操作数,并生成第二个操作数的值。

Ah,这更有意义。我刚刚检查了ECMA-262,看起来我跳过了逗号运算符。谢谢