Javascript 条件赋值和返回赋值背后的逻辑是什么
我不会让你厌烦这个故事,但本质上我有一些模糊的JavaScript需要处理,这一切都很好,但我正在与代码中我从未见过的两种模式作斗争 下面的函数包含这两种模式Javascript 条件赋值和返回赋值背后的逻辑是什么,javascript,Javascript,我不会让你厌烦这个故事,但本质上我有一些模糊的JavaScript需要处理,这一切都很好,但我正在与代码中我从未见过的两种模式作斗争 下面的函数包含这两种模式 var a = function() { if (h = true, T(), DEVELOPMENT && "#y0" == window.location.hash) return game.playRegion
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())
}
if
语句。我从未见过if
do赋值和调用函数,因此我不理解条件函数的逻辑。如果,我是否可以将语句移到上方,或者除非满足完整条件,否则语句不会运行?我可以这样做吗:
是怎么回事?返回是一系列语句,那么它实际返回的是什么呢?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) {}
谢谢你,乔纳斯!我已经使用Actionscript和TypeScript很长一段时间了,我的JavaScript基础知识显然比我想象的更缺乏。谢谢你的时间。。。。没有人会使用逗号运算符/
void
。。。因此,您很可能永远不需要这些知识;)
a = b;
c();
return undefined;
d();
if(e) {}