Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:var=var=function_Javascript_Node.js_Var_Assign - Fatal编程技术网

Javascript:var=var=function

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

我肯定这东西在某处被复制了,但我不知道该搜索什么

所以,我一直在浏览Node.JS应用程序,发现了这段代码,并想知道它是做什么的。我尝试过搜索,但我不知道搜索什么,所以我希望有人能给我解释一下

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变量

你为什么要这么做? 有两个主要原因

  • 访问x比访问此.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
    。谢谢你,我只是在阅读代码(因为它对我来说是一种新语言)当时,这对我来说是件新鲜事。。