我正在寻求开始大规模开发javascript jQuery开发。我最近阅读了Douglas Crockford的“JavaScript:The Good Parts”,并为基于原型的面向对象开发做好了准备。
我现在正试图弄清楚如何用Crockford引入的模式编织jQuery使用。我可以想到两种合理的方法:
您对将OOP javascript与jQuery DOM操作混合有什么建议?
答案 0 :(得分:2)
你的方法非常有趣。我会告诉你我的意见
- 为jQuery返回的DOM对象添加方法(可能使用 jQuery的扩展方法)
醇>
我认为这是一种不好的做法。为什么?你正在为单个对象添加方法,所以这些对象没有类(嗯,它们可能有一个,但我们没有定义类方法)。它将是一个基于的实践对象,而不是面向对象的实践。
- 将jQuery返回的DOM对象添加为域对象的属性 (反之亦然),并委托召集 适当。这有好处 能够添加方法 域对象的原型。
醇>
我认为这是一种非常非常好的做法,正如您所说,我们将添加对象原型而不是对象实例的方法。 那是oop 。
只是评论,因为我认为这是一个高度自由的问题。在制作jquery插件时,我认为为插件创建一个类是一个很好的做法,并使用.data()将相应的类实例附加到应用它的节点,因此我们不会丢失对该实例的引用。这是接近OO 的做法,我认为它可以用于插件。
希望这会有所帮助。最好的问候