var win=(win,feedback[i]["final"] =="win");
大家好,我正在使用名为 engage 的评估引擎,我正在关注 http://146.191.107.189/documentation/tutorial。
但是上面有一行你可以看到,我不知道它应该做什么。值得一提的是,win 变量未在代码的其他任何地方定义。
最佳答案
这是Javascripts的效果comma operator .
The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.
所以 win
将由 feedback[i]["final"] == "win"
的值, 是 true
或 false
.例如:
var x = (1,2,3); // x => 3
这里的声明是正在发生的事情:
var win = ( // declared a variable named 'win'
win, // the value of win is undefined (as it's declared by var)
feedback[i]["final"] =="win" // return this value, assign it to 'win'
);
在功能上它做同样的事情:
var win = ( fedback[i]["final"] == "win" );
在这种情况下,在功能方面做 var x = (x, y == z)
与做 var x = (y == z)
相比没有真正的优势.做第一个操作就像做:
var x;
x;
x = (y == z);
关于Javascript 奇怪变量 var x = (x, y == "z");,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345467/