繁体   English   中英

条件句中的赋值和收益中的赋值背后的逻辑是什么

[英]What is the logic behind Assignments in Conditionals and Assignments in Returns

我不会对这个故事感到厌烦,但是从本质上讲,我有一些晦涩难懂的JavaScript可以很好地处理所有问题,但是我在代码中遇到了两种我从未见过的模式。

下面的此功能包含两种模式。


var a = function() {
            if (h = true,
            T(),
            DEVELOPMENT && "#y0" == window.location.hash)
                return game.playRegion = "eu",
                game.playRoom = "ffa1",
                game.playInvited = true,
                game.myOriginalName = window.location.hash.substr(1),
                void Games.start(game.myOriginalName, true);
            f || (I(),
            Games.updateRegion(false),
            Games.updateType(false),
            C())
        }
  1. 首先看一下if语句。 我从未见过if do赋值和调用函数,因此我不了解条件逻辑。 if可以将语句移到if之上,否则除非满足全部条件,否则语句不运行? 我可以这样做吗?
h = true;
T();
if (DEVELOPMENT && window.location.hash === "#y0"){}
  1. return是怎么回事? 返回是一系列语句,那么实际上返回的是什么? void是什么?

几乎所有内容都是JavaScript中的一种表达方式。

分配也只是表达式。 a = b得出b

逗号运算符(已被广泛使用)求值在逗号的右边,因此a, b, c求值为c

void接受任何表达式,并且始终求值为undefined

因此:

 return a = b, void c();

 if(d(), e) {}

等于:

 a = b;
 c();
 return undefined;

 d();
 if(e) {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM