2011-05-26 115 views
0

我不想问另一个JQuery与原型vs ...话题,因为我已经阅读了5+这些论坛上的人,并且能够从他们那里获得很多知识。我的问题更直接地涉及到想要使用继承基本类的能力,而不是真的确定什么是一个好的选择。JavaScript继承JQuery vs原型DOM扩展

简而言之,我有要求能够控制javascript中的理论对象,并根据用户输入操作它们,然后显示它们。

我已经使用JQuery,并且享受修改DOM(它似乎是它的主要目标)是多么容易。然而,从我所做的所有阅读中,似乎JQuery无意协助您处理类,继承等。如果我已经选择了JQuery来显示和操作数据,那么对我来说是一个很好的选择。继承问题。

我的第一个想法是Mootools或Prototype,但是原型DOM扩展似乎是一个非常糟糕的方法,宁愿等待Prototype 2.0,除非现在在通常支持的浏览器上这不是问题。

我也读过关于Base2,Joose和JS.Class,但不知道他们是否会做我所希望的。 基于上述信息的任何建议都会很棒,再次,我不想弄清楚常用的JS框架的pro和con。

+0

你说的对jQuery的主要用途是DOM操作。你真正的问题是什么?你在寻找一个库来帮助你在JavaScript中模拟基于类的继承吗? – 2011-05-26 22:52:01

+0

@MattBall Java有这个鲜为人知的'class'关键字。这非常有用。 – Raynos 2011-05-26 22:53:59

+0

呐喊,错字......你指的是什么? – 2011-05-26 22:56:37

回答

1

为什么模仿古典继承?

功能有什么问题和.prototype

var SomeObject = function(data) { 
    this.data = data; 
} 

SomeObject.prototype.doStuff = function() { 
    return this.data; 
} 

做它的老式的方式。

如果你想使用除jQuery以外的任何东西,我会建议underscore它的语法糖。

如果你必须效仿经典的OO,我会推荐oorja,因为它是较少的邪恶。

+2

同意,试图覆盖JS中的经典继承不是正确的方式来做到这一点。 – 2011-05-26 22:54:44

+0

为什么使用Mootools或Prototype.js如果我们已经可以在JS中轻松地执行OO和继承了? 下划线和oorja都看起来像他们会帮助我在找什么。 – Craig 2011-05-26 23:14:34

+0

@Craig,因为Mootools和Prototype不是“继承”库。它们类似于jQuery库,它提供了跨浏览器的一致API,除了提供UI小部件,效果等。 – 2011-05-26 23:16:43