Javascript:var=var=function
我肯定这东西在某处被复制了,但我不知道该搜索什么 所以,我一直在浏览Node.JS应用程序,发现了这段代码,并想知道它是做什么的。我尝试过搜索,但我不知道搜索什么,所以我希望有人能给我解释一下Javascript:var=var=function,javascript,node.js,var,assign,Javascript,Node.js,Var,Assign,我肯定这东西在某处被复制了,但我不知道该搜索什么 所以,我一直在浏览Node.JS应用程序,发现了这段代码,并想知道它是做什么的。我尝试过搜索,但我不知道搜索什么,所以我希望有人能给我解释一下 init = refresh = function () { // code here.. }; 我知道1等于,但为什么是2?它是否生成了某种别名,以便可以使用init和refresh运行函数?=解析右侧,然后将结果分配到左侧 这样做的结果与指定的结果相同 因此,这将函数分配给init和refr
init = refresh = function () {
// code here..
};
我知道1等于,但为什么是2?它是否生成了某种别名,以便可以使用
init
和refresh
运行函数?=
解析右侧,然后将结果分配到左侧
这样做的结果与指定的结果相同
因此,这将函数分配给
init
和refresh
昆廷很好地告诉了您它在做什么。
我只是想插话给你举个例子,你可以用这个:
例如,假设您有一个对象:
var obj = {
init: function() {
var x = this.x = [1,2,3];
}
};
这允许您通过两种不同的方式(通过x或this.x)引用x变量
你为什么要这么做?
有两个主要原因
但在大多数情况下,它只是别名,例如:forEach->each这里有一个使用操作符关联性和优先级的解释 因此,看看Mozilla的描述,当一个表达式包含多个具有相同优先级的运算符时,如
a OP b OP c
,然后检查该优先级是否使用从右到左的或从左到右的关联性
a = b = c
JavaScript中的赋值运算符是其优先级级别上唯一的运算符
它具有从右到左的关联性
因此在a=b=c
中,首先计算b=c
,将c
的值分配给b
然后表达式变为
a=b
变量赋值就是这样的,是的。(a=b
将a
设置为b
并计算为b
;它从右到左解析。)基本上,它所做的是将function(){…}
分配给init
和refresh
。谢谢你,我只是在阅读代码(因为它对我来说是一种新语言)当时,这对我来说是件新鲜事。。