5

我现在是一名开发人员,在过去的几年里,我正在使用原型框架,它是面向 OOP 的实现,用于 Javascript。我也使用过 jquery 和其他一些框架。

我一直在研究 js 如何工作以及与 OOP 有何不同,因为它是一种面向原型的语言。在我看来其实是一个很棒的概念,面向原型的语言。

给予正确的关注:
- 这就是语言的使用方式,因此更快,更有效率,理论上,更简单,更流畅。
- 每个浏览器都有自己的 javascript 应该如何工作的实现,因此有时无法在所有浏览器或至少大多数浏览器中使用简洁的代码。
- 通常那些 OOP 框架(dojo.declare()、Js.Class、MooTools 等)非常适合制作出色的作品,而且它们是跨浏览器的。

我不禁想知道,是否值得开始使用面向 javascript 原型的 RIA?或者我应该选择Dojo.declare()js.class还是类似的?

4

2 回答 2

3

我不认为当你用 JS 编程时你必须放弃 OOP;我建议你拥抱 OOP

  • 我更喜欢ExtJS 库,它提供类,鼓励子类化,并提供了一个很好的定义类层次结构的例子。
  • Douglas Crockford提供了将成员数据和成员函数设为私有(无保护)的示例。
  • 很多人使用 JavaScript 的原型作为实现继承的载体;再次见到道格拉斯·克罗克福德
  • 多态很容易,因为 JS 不是强类型的。

此外,许多流行的 JavaScript 库从开发人员那里抽象出浏览器的差异。如果您选择使用 JS 库,您可能会在代码中找到一些“ifs”来补偿浏览器的差异。

最后,这里有一些来自 SO 的其他好资源

于 2010-01-12T17:23:02.690 回答
0

我去年在 RIA 上使用了prototype.js。我不习惯您所说的库,但我使用 jQuery。在学习了如何使用prototype.js之后,我只是避免使用jQuery。我可以使用prototype.js 做任何事情,特别是当范围真的很重要时,prototype 以如此精美的方式处理它。您在任何其他库中都找不到原型提供的绑定方法的替换。这是非常非常有用的。我建议您不要害怕使用原型。它很酷而且很容易处理。

于 2011-11-29T10:41:22.687 回答