gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 16:57:55 26 4
gpt4 key购买 nike

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

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

现在 this.parse(str),基本上是在调用附加到 Transform 原型(prototype)的函数,您可以在 LINE 422 < 上看到该函数/strong>.

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

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

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

  • 你将对象、变量或其他东西传递给函数
  • 函数执行步骤
  • 使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com