首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript: var = var = function

Javascript: var = var = function
EN

Stack Overflow用户
提问于 2013-09-21 21:39:23
回答 3查看 2.5K关注 0票数 5

我肯定这东西在某个地方被复制了,但我不知道该找什么。

因此,我一直在查看一个Node.JS应用程序,发现了这段代码,并想知道它能做什么。我试过搜索,但我不知道该搜索什么,所以我希望有人能解释给我听。

代码语言:javascript
复制
init = refresh = function () {
    // code here..
};

我理解1等于,但为什么是2?它是否制作了某种别名,以便可以同时使用initrefresh运行函数?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-21 21:41:01

=解析右手侧,然后将结果分配给左手侧。

这样做的结果与分配的结果相同。

以便将该函数分配给initrefresh

票数 5
EN

Stack Overflow用户

发布于 2013-09-22 00:53:32

昆汀做得很好,告诉你它在做什么。我只是想给出一个例子,你可以用这个:

例如,假设您有一个对象:

代码语言:javascript
复制
var obj = {
    init: function() {
        var x = this.x = [1,2,3];
    }
};

这允许您以两种不同的方式(通过x或this.x)引用x变量。

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

  1. 访问x比this.x .x更快(但您仍然需要在其他地方访问它)
  2. 当需要在一个函数中多次读/写x时,它会产生更容易阅读的代码。

这只是你使用它的另一个原因。

但在大多数情况下,它只是别名,例如: forEach -> each

票数 4
EN

Stack Overflow用户

发布于 2013-11-02 21:16:48

下面是一个使用运算符结合性优先级的解释。

因此,查看来自Mozilla的运算符优先描述,当表达式包含具有相同优先级的多个运算符时,如

代码语言:javascript
复制
a OP b OP c

,然后检查优先级级别是使用从右到左的还是从左到右的结合性。

代码语言:javascript
复制
a = b = c

JavaScript中的赋值运算符是其优先级级别上的唯一运算符。

它具有right-to-left结合性

因此,在a = b = c中,首先计算b = c,将c的值分配给b

然后表达式变成a = b

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18937924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档