javascript - 在哪里可以找到使用 Crockford 方法进行原型(prototype)继承的大型 JavaScript 项目的示例?

标签 javascript oop prototypal-inheritance

<分区>

我已经阅读了有关 Crockford 插入 using JavaScript in a more obviously prototypal manner 的信息(克隆对象以创建新对象,从不使用“new”关键字)。但在野外,我从未见过有人将这种风格用于更大的项目。

在哪里可以找到使用这种风格的大型项目的示例?

最佳答案

必须提供一个反 awnser ;) 尽管希望看到大型项目也使用它(如果有的话)。我自己喜欢 Object.create 并且更喜欢它,尽管我从来没有能够在一个大项目中广泛使用它,也不觉得它应该如此。

  1. OO 开发人员沉迷于"new"运算符,这是一个很难改掉的习惯,而且一目了然。以经典方式编写的代码现在更容易移交给下一位开发人员,这已经成为反对 Object.create 的有力论据。

  2. ES5(下一个 JS 版本)中的 Object.create 比 ES3(当前 JS 版本)中的 Object.create 更强大并且截然不同。出于这个原因,最好避免将 Object.create(目前可用)作为大型项目中广泛使用的策略,因为当 ES5 成为主流时,它的工作方式将与现在可实现的不同。

  3. 大型项目会使用框架(当您没有流氓 JS“忍者”时,他们坚持从头开始编写所有内容,一遍又一遍地重新发明轮子)并且所有流行的框架都以经典方式促进原型(prototype)继承。他们可能有一个 Object.create 方法,其形式为 .clone() 或其他形式,但在有关对象继承和子类化的教程和文档中被掩盖了。

  4. ES3 中的 Object.create 不可能使用私有(private)属性。我摆弄 Object.create 越多,我遇到的问题就越多,男孩,我摆弄了它......

我经常使用 Object.create,甚至围绕它编写了一个名为“Objection”的小型框架(如果您感兴趣,您会发现它;)虽然没有链接到 github)和“JSoo”(停产)。就大型项目的人力资源而言,它太滑稽、未完成和进步,无法成为主流和可维护的。作为支持者,我反对它。

关于javascript - 在哪里可以找到使用 Crockford 方法进行原型(prototype)继承的大型 JavaScript 项目的示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3436498/

相关文章:

javascript - 普通对象 VS 模型对象的类实例

javascript - Java 将 byte[] 转换为 BigInteger

javascript - 散点图矩阵的工具提示 - 使用 d3

c# - 你需要 ref 或 out 参数吗?

javascript - 在 JavaScript 中从父级调用子方法

javascript - 用作事件处理程序的 Javascript 原型(prototype)函数内部 'this' 的值

javascript - xpcom数组可以在不同的xul文件中传输吗?

javascript - 在滚动和 "come into view"上延迟加载图像

c++ - 从基类扩展功能的派生类的最佳设计

c# - 可扩展的.NET配置