javascript - 理解transit.js中简单的return this

标签 javascript jquery

我对js比较陌生,基本上我在transit.js(一个小型​​动画库)中遇到了以下函数。看一下下面的函数:

function Transform(str) {
    if (typeof str === 'string') { this.parse(str); }
    return this;
  }

现在 this.parse(str) 基本上是调用一个附加到 Transform 原型(prototype)上的函数,你可以在 LINE 422 上看到该函数.

现在我的问题是关于this,我在线阅读了几篇文章,其中展示了如何将 return this 用于链接,但我不太确定在这种情况下 return this 是什么返回。

当您在这个特定场景中说return this时,您具体指的是返回什么?到底是什么。

我有点理解返回这个工作有点像这样:

  • 将对象、变量或其他内容传递给函数
  • 函数执行步骤
  • 使用return this返回新对象或变量。

但是我仍然不清楚,有人可以通过举我的例子并使用示例上下文进行解释来让我清楚地了解这一点吗?

附注我不是要求解释 return this,而是要求在给定的上下文中解释 return this。

最佳答案

this.parse(str) 很可能会改变对象并返回现在改变的结果。正如您所说,这对于 chaining function calls 很有用。像这样:

var obj = Transform('some string').someOtherFunction();

someOtherFunc 可以在 prototype chain 中的某个位置定义,或者使用某种 inheritance strategy ,它可能是另一个“父”对象的继承或扩展函数。要点是,当调用 someOtherFunc 时,它是在已被 Transform 函数更改的对象上调用的。

关于javascript - 理解transit.js中简单的return this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30840755/

相关文章:

javascript - 我对 API 的调用并未更新 React 状态

javascript - 聚合物谷歌地图 - 绘制形状

javascript - 将 d3.csv 替换为 d3.csv.parse

javascript - 加载页面后使用 Javascript 创建 ASP.NET 标签

javascript - 拖放 div

jQuery sibling ,toggleClass 影响其他 div

javascript - 查找不在数组中的项目

javascript - 使用 Node.js Express 更新加载的值

javascript - 如何从彩盒中获取返回值?

javascript - 将选择框事件中添加的动态表单元素依次对齐到选择框上方的页面顶部