【问题标题】:Need help understanding a javascript syntax and notation [duplicate]需要帮助理解 javascript 语法和符号 [重复]
【发布时间】:2016-02-04 20:57:01
【问题描述】:

我最近开始使用 Google 文档学习 AngularJS,但遇到了一个我不熟悉的符号。

我感到困惑的一般语法如下:

 someObject(someParams)
.SomeFunction()
.SomeFunction()
.SomeFunction()

问题是我通常习惯于看到

SomeObject.someFunction()
SomeObject.someFunction()
SomeObject.someFunction()

有人可以澄清这里发生了什么吗?我错过了什么吗? 如果它有帮助的话,我教 Java 编程并且非常擅长 C# 和 Java,所以也许这可以帮助有人为我准备一个答案。

【问题讨论】:

  • 链接方法。那里有很多教程解释它是如何工作的。
  • 所以这叫做“链接方法”?你有推荐的教程吗?
  • builder pattern 是执行此操作的一种方法,其中对象修改并返回自身或返回副本。
  • 承诺链。这是来自 Java 的调整,但它是 JavaScript 异步功能的核心。这是 angular.js 文档:docs.angularjs.org/api/ng/service/$q。我还发现此概述摘要很有帮助(尽管它适用于不同的承诺库):github.com/kriskowal/q

标签: javascript notation


【解决方案1】:

这是方法链,在许多库中很常见,包括 AngularJS 和 jQuery。

如果方法不用于返回新信息(例如获取输入值或元素属性),则正常行为是返回与调用它的对象相同的对象。这样一来,就不必重复说SomeObject.,只需在上一个方法的返回值上调用下一个方法即可。正因为如此,链式方法就相当于你习惯看到的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2020-02-22
    • 1970-01-01
    相关资源
    最近更新 更多