3

谁能解释一下 FOR 语句中的逗号运算符?

function funct_1(c){
    for (var a = x, e = y; 0 < c; ){ 
         var p = c/2;
         var c = c/10; // wtf, it is already defined as function argument!!
    }
}

此外,像“a++”这样的最后一个语句似乎丢失了,我从未见过这样的东西。这意味着什么?谢谢!

4

3 回答 3

2

逗号只是为多个声明添加分隔符。换句话说,您的for循环设置为a等于x,以及e等于y

至于增量语句的缺失,它缺失的事实只是意味着for循环不会显式地增加任何变量。

于 2012-01-23T02:41:10.800 回答
2

逗号仅允许您在循环开始时初始化多个变量。而缺少的增量运算符意味着循环内必须有一些脚本最终会满足终止条件,否则循环将永远无法完成。

于 2012-01-23T02:41:21.877 回答
0

C、C++ 和 JavaScript(可能是 C#)中的逗号运算符的工作方式如下:

comma_operator(statement_1, statement_2) {
     execute statement_1
     return statement_2
}

因此,在您的循环中,它初始化两个整数值ae,它们分别设置为xy。没有增量,因为循环正在与 比较c,这可能设置在循环内的某个位置。

于 2012-01-23T02:40:59.313 回答