2010-06-14 59 views
2

您好我正在转换一些原型的JavaScript到jQuery的JavaScript。jQuery插件和原型类

在原型中我们可以做Class.create来创建一个类。但是,jQuery不提供这个。所以我打算把这个类重写成一个jQuery插件。这是最佳做法吗?我担心的是,如果我为班级做所有事情,那么我会为jQuery对象添加很多东西。

另一种选择是使用一些额外的代码行,我发现http://ejohn.org/blog/simple-javascript-inheritance/#postcomment。然后你可以做以下事情:

var Person = Class.extend({ 
    init: function(isDancing){ 
    this.dancing = isDancing; 
    }, 
    dance: function(){ 
    return this.dancing; 
    } 
}); 

否则,我发现这个名为HJS的jQuery插件,允许您创建类。 http://plugins.jquery.com/project/HJS

但是,我没有使用是否需要使用这些插件来允许我使用Class,或者我可以将类转换为编写jQuery插件的方式,请指教。非常感谢你!

回答

1

jQuery不处理JavaScript原型继承。
我不认为用jQuery来处理你的类是正确的 - 它根本就不是这个意思。 jQuery的主要优势在于跨浏览器兼容性,ajax和DOM操作。除此之外,它提供的功能非常少,并且不像原型那样提供任何JavaScript扩展。
许多此功能的迁移是不可能的,但您可以继续使用您需要的原型功能。

+0

感谢您的回答。我想你是对的。 jQuery插件并不意味着这一点。当我开始从原型到jQuery的迁移时,我意识到原型在DOM操作的所有方法方面具有更多的权力,因为它们扩展了本地DOM元素。但是,我不能保留原型的功能。我需要将所有内容转换为jQuery。我不想维护两个不同的框架。所以也许我应该使用上面的class.Extend方法来实现类似Prototype class.create的东西。 – Shanison 2010-06-14 13:55:21