Javascript 奇怪变量 var x = (x, y == "z");

标签 javascript scope var

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" 的值, 是 truefalse .例如:

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/

相关文章:

javascript - 如何在AWS DynamoDb js sdk中使用begins_with?

JavaScript,简单 : make global

javascript - 获取函数中的变量

swift - 在 Swift 中创建实例时是使用 var 还是 let?

c# - 匿名类型(类特性)

javascript - 测验应用程序中的按钮状态

javascript - 使用javascript结合背景css

javascript - 默认情况下实现本地作用域的成本

javascript - coffeescript 类中的范围

python - 为什么 fileinput.input 对象在超出范围时不会丢失?