gpt4 book ai didi

javascript - 将 OOP javascript 与 jQuery DOM 操作混合

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:46 24 4
gpt4 key购买 nike

我希望开始使用 javascript jQuery 进行大规模开发。我最近阅读了 Douglas Crockford 的“JavaScript:好的部分” ,并为基于原型(prototype)的面向对象开发做好充分准备。

我现在正试图找出如何将 jQuery 用法与 Crockford 引入的模式结合起来。我可以想到两种合理的方法:

  1. 向 jQuery 返回的 DOM 对象添加方法(可能使用 jQuery 的扩展方法)
  2. 将 jQuery 返回的 DOM 对象添加为域对象的属性(反之亦然),并适本地委托(delegate)调用。这样做的好处是能够向域对象的原型(prototype)添加方法。

对于混合使用 OOP javascript 和 jQuery DOM 操作,您有什么建议?

最佳答案

您的方法很有趣。我给你我的意见

  1. Add methods to DOM objects returned by jQuery (possibly using jQuery's extend method)

我认为这是一种不好的做法。为什么?您正在向单个对象添加方法,因此这些对象没有类(好吧,它们可能有一个,但我们没有定义类方法)。这将是一种基于的对象实践,而不是面向对象的实践。

  1. Add the DOM objects returned by jQuery as properties of domain objects (and vice-versa), and delegate calls appropriately. This has the benefit of being able to add methods to the domain objects' prototype.

我认为这是一个非常非常好的实践,正如您所说,我们将向对象原型(prototype)而不是对象实例添加方法。 太好了

只是一个评论,因为我认为这是一个非常常见的问题。在制作 jquery 插件时,我认为为插件制作一个类是一个很好的做法,并使用 .data() 将相应的类实例附加到应用它的节点,这样我们就不会丢失对该实例的引用。这是更接近 OO 的做法,我认为它可以用于插件。

希望这对您有所帮助。最好的问候

关于javascript - 将 OOP javascript 与 jQuery DOM 操作混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917961/

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