将方法附加到对象与使用Javascript中的函数

塞缪尔

在Javascript中,直接或通过原型链将方法附加到对象非常容易。我使用的许多库都有这种行为。一个示例是AngularJS的$ resource库,其中返回的对象上具有一些魔术方法,例如。$ save()和。$ delete(),它们触发对服务器的请求。

但是,在使用Clojure一段时间后,我开始喜欢它的将数据结构传递给函数以触发行为的方法,对于下一个JavaScript项目,我正在考虑尝试以这种风格编写它。

我的问题是,每种编程方式的优缺点是什么?

将方法直接附加到对象上的优缺点(因此,通常是在适当位置更改对象)与将对象作为纯数据结构传递给函数将在处理后返回新的数据结构有何利弊。

我在AngularJS中认识到,要利用双向绑定通常需要使用第一个系统,但是,像React这样的框架似乎可以利用就地变异或使用对象的新实例的优势。

Lexicore

很好的问题。

我将“我的类”(即我控制的代码)与“外部类”(即我使用的外部代码)区分开来,无论是内置的东西还是第三方库。

对于我自己的代码,我经常喜欢去的面向对象的方式,所以我宁愿做myObject.doSomething()My.doSomething(object),但它实际上取决于。

对于“外来”代码,我在那里几乎没有“连接”方法。仅在绝对例外的情况下。我不使用我的方法扩展内置对象和类。我几乎从未将方法注入到48个类和实例中。

这样做的主要原因是兼容性。如果我觉得在上添加一些split方法ForeignClass是一个好主意,那么其他人可能也会有相同的想法。他们的split所作所为可能与我的完全不同。看一下AngularJS如何看待这个问题:他们使用$method命名约定来尝试减少冲突。

如果您不太关注外部类或对象中的注入方法,而更多地关注OOP方面,那么它实际上取决于用例。不要将编程范例放在您的实际需求之前。如果您有某些领域,最好用面向对象的术语进行设计。反之亦然,如果您只是执行无状态功能,则实例中实际上没有太多需求。

这实际上是JavaScript中最好的事情之一-您可以同时实现和使用不同的范例,而不会遇到任何技术问题。

希望能帮助到你。

ps。其他相关术语之一是贫血数据模型

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用php将javascript对象附加到json文件

来自分类Dev

使用php将javascript对象附加到json文件

来自分类Dev

将 HTML 标签附加到 Javascript 中的输出函数结果

来自分类Dev

使用JavaScript函数将复杂HTML附加到div吗?

来自分类Dev

使用JAXB将编组对象附加到XML文件中

来自分类Dev

使用JAXB将编组对象附加到XML文件中

来自分类Dev

使用数组引用将数组附加到函数perl中

来自分类Dev

JavaScript将属性附加到对象

来自分类Dev

使用 JavaScript 将 ajax 的结果附加到 textarea 中

来自分类Dev

将函数的结果附加到列表中

来自分类Dev

将属性添加到JavaScript中的函数中的对象?

来自分类Dev

附加到JavaScript中的agrument对象

来自分类Dev

将属性添加到JavaScript中的函数内部的对象?

来自分类Dev

使用plsql将json对象附加或附加到另一个json对象json对象中

来自分类Dev

如何将本地函数附加到 Javascript 构造函数中的文档事件?

来自分类Dev

将事件附加到JQuery回调函数中的窗口或文档对象不起作用

来自分类Dev

将事件附加到JQuery回调函数中的窗口或文档对象不起作用

来自分类Dev

将函数作为方法附加到 JS 中的另一个函数

来自分类Dev

javascript将元素附加到div中

来自分类Dev

将键值对附加到 Javascript 中的数组

来自分类Dev

将进度侦听器附加到列表中对象的正确方法

来自分类Dev

使用PHP将新对象附加到外部JSON文件中现有的数组

来自分类Dev

如何使用 python 将 numpy.ndarray 的人脸编码附加到列表对象中

来自分类Dev

JavaScript,将html添加到jQuery附加函数

来自分类Dev

使用 Filelock 获取函数 Python 时如何将文本附加到文件中?

来自分类Dev

将函数附加到数组

来自分类Dev

如何将方法附加到对象以更改CSS

来自分类Dev

Angular $ resource-将通用.finally函数附加到方法

来自分类Dev

JS-如何将孩子附加到对象中

Related 相关文章

  1. 1

    使用php将javascript对象附加到json文件

  2. 2

    使用php将javascript对象附加到json文件

  3. 3

    将 HTML 标签附加到 Javascript 中的输出函数结果

  4. 4

    使用JavaScript函数将复杂HTML附加到div吗?

  5. 5

    使用JAXB将编组对象附加到XML文件中

  6. 6

    使用JAXB将编组对象附加到XML文件中

  7. 7

    使用数组引用将数组附加到函数perl中

  8. 8

    JavaScript将属性附加到对象

  9. 9

    使用 JavaScript 将 ajax 的结果附加到 textarea 中

  10. 10

    将函数的结果附加到列表中

  11. 11

    将属性添加到JavaScript中的函数中的对象?

  12. 12

    附加到JavaScript中的agrument对象

  13. 13

    将属性添加到JavaScript中的函数内部的对象?

  14. 14

    使用plsql将json对象附加或附加到另一个json对象json对象中

  15. 15

    如何将本地函数附加到 Javascript 构造函数中的文档事件?

  16. 16

    将事件附加到JQuery回调函数中的窗口或文档对象不起作用

  17. 17

    将事件附加到JQuery回调函数中的窗口或文档对象不起作用

  18. 18

    将函数作为方法附加到 JS 中的另一个函数

  19. 19

    javascript将元素附加到div中

  20. 20

    将键值对附加到 Javascript 中的数组

  21. 21

    将进度侦听器附加到列表中对象的正确方法

  22. 22

    使用PHP将新对象附加到外部JSON文件中现有的数组

  23. 23

    如何使用 python 将 numpy.ndarray 的人脸编码附加到列表对象中

  24. 24

    JavaScript,将html添加到jQuery附加函数

  25. 25

    使用 Filelock 获取函数 Python 时如何将文本附加到文件中?

  26. 26

    将函数附加到数组

  27. 27

    如何将方法附加到对象以更改CSS

  28. 28

    Angular $ resource-将通用.finally函数附加到方法

  29. 29

    JS-如何将孩子附加到对象中

热门标签

归档