【问题标题】:JavaScript inheritance JQuery vs Prototype DOM ExtensionJavaScript 继承 JQuery vs Prototype DOM 扩展
【发布时间】:2011-05-26 22:46:29
【问题描述】:

我不是想问另一个 JQuery vs. Prototype vs... 话题,因为我已经阅读了这些论坛上的 5 多篇,并且能够从他们那里获得很多知识。我的问题与想要为基本类使用继承的能力更直接相关,但实际上并不确定什么是一个好的选择。

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

我使用过 JQuery,并且喜欢修改 DOM 是多么容易(这似乎是它的主要目标)。但是从我所做的所有阅读来看,JQuery 似乎无意帮助您处理类、继承等。如果我已经选择 JQuery 来显示和操作数据,那么在继承问题。

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

我还阅读了有关 Base2、Joose 和 JS.Class 的信息,但不知道它们是否会满足我的期望。 任何基于上述信息的建议都会很棒,再说一遍,我不是想弄清楚常用 JS 框架的优缺点。

【问题讨论】:

  • 你说得对 jQuery - 主要用途是 DOM 操作。你的实际问题是什么?您是否正在寻找一个库来帮助您在 JavaScript 中模拟基于类的继承?
  • @MattBall Java 有这个鲜为人知的class 关键字。挺好用的。
  • 哎呀,错字...您指出的就是这些吗?
  • @MattBall 是的,这是其中一个实际上并不好笑的笑话。
  • 我正在寻找干净的 OO(如果这有意义的话)和 Raynos 所说的类似 OOP 的东西,如 Java 或 C 或 ...

标签: javascript jquery inheritance prototypejs


【解决方案1】:

为什么要模拟经典继承?

函数和.prototype有什么问题?

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

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

用老式的方式做。

如果你想使用除 jQuery 之外的任何东西,我会推荐 underscore,因为它是语法糖。

如果您必须效仿经典的 OO,我会推荐 oorja,因为它是轻而易举的。

【讨论】:

  • 同意,尝试在 JS 中覆盖经典继承并不是正确的做法。
  • 如果我们已经可以在 JS 中如此轻松地进行 OO 和继承,为什么还要使用 Mootools 或 Prototype.js? underscore 和 oorja 看起来都可以帮助我找到想要的东西。
  • @Craig 因为 Mootools 和 Prototype 不是“继承”库。它们类似于 jQuery - 除了提供 UI 小部件、效果等之外,还提供跨浏览器的一致 API 的库。
  • 我承认我的 OP 有点误导(可能很多),我已经说过继承,因为这是我在问这个问题之前一直在看的东西。我正在寻找一个 OO JavaScript 框架,它能够与 jQuery 库一起工作,并且在加载两者时仍然很小。 JQuery 似乎使用了 OO JavaScript,但并没有以任何方式增强它(也许没有必要,我想这也是一个对我有用的答案)。
  • 更具体地说,我正在寻找这样的东西link
猜你喜欢
  • 2023-03-09
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多