我确定这件事情在某处重复,但我不知道该搜索什么。
所以,我一直在查看Node.JS应用程序并找到了这段代码,并想知道它的作用。我试过搜索,但我不知道要搜索什么,所以我希望有人能解释一下。
init = refresh = function () {
// code here..
};
我理解1等于,但为什么2?它是否会产生某种别名,以便可以同时使用init
和refresh
运行函数?
答案 0 :(得分:4)
=
解析右侧,然后将结果分配到左侧。
执行此操作的结果与指定的结果相同。
这样就可以将函数分配给init
和refresh
答案 1 :(得分:4)
昆汀做得很好,告诉你它在做什么。 我只想举一个例子来说明你可以使用它:
比如说你有一个对象:
var obj = {
init: function() {
var x = this.x = [1,2,3];
}
};
这允许你做的是以两种不同的方式引用你的x变量(通过x或this.x)。
现在你为什么要这样做? 那么两个主要原因。
这只是你使用它的另一个原因。
但在大多数情况下,它只是别名,例如:forEach - >每个
答案 2 :(得分:2)
以下是使用运算符关联性和优先级的说明。
因此,查看Mozilla中的 operator precedence描述,当表达式包含多个具有相同优先级的运算符时,如
a OP b OP c
,然后检查该优先级是否使用从右到左或从左到右的关联性。
a = b = c
JavaScript中的赋值运算符是其优先级别上唯一的运算符。
从右到左关联性
因此,在a = b = c
中,首先评估b = c
,将c
的值分配给b
。
然后表达式变为a = b
。