【问题标题】:How to implement or use inheritance in JavaScript? [duplicate]如何在 JavaScript 中实现或使用继承? [复制]
【发布时间】:2010-07-23 16:20:08
【问题描述】:

可能重复:
Performing Inheritance in Javascript

在 JavaScript 中实现继承的方法有哪些,哪一种最好,为什么?

【问题讨论】:

标签: javascript inheritance


【解决方案1】:

我能想到的只有一个:原型,你可以用它做多态,一点封装和继承。这是 JavaScript 支持继承*的唯一方式,但非常成功并且扩展得非常深。看到这个nice and easy read on OO in JavaScript

Object Oriented JavaScript by Stoyan Stefanov 也是一本极好的读物,我强烈推荐给你,你的 JS 再也不会看起来一样了。

* 编辑:这是一种特殊类型的 OO:prototype based programming,JS 很好地支持它,但正如 Adam 所评论的,如果你想以不同的方式做,你可以欺骗你的方式(建议:不要) .

【讨论】:

  • 还有其他方法,但它们只是试图隐藏 JS 真正的原型继承的诡计。最好不要打JS。对于那些习惯于 C++/C#/Java 类继承方案的人来说,按其规则行事可能会感到不舒服,但不接受 JS 可能是一个错误。
【解决方案2】:

Doug Crockford 在他的“Javascript: The Good Parts”中列出了几种继承机制。我建议您阅读以深入了解。该材料也可能在线提供。

【讨论】:

  • 他对继承的讨论是 The Good Parts 中比较好的部分之一。通常是一本优秀的书,但你不能只从表面上看整本书。
【解决方案3】:

由于 JavaScript 是一种无类、面向对象的语言,它使用原型继承。阅读 Douglas Crockford 的“JavaScript 中的原型继承”以了解原因:http://javascript.crockford.com/prototypal.html

【讨论】:

    猜你喜欢
    • 2013-07-25
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 2020-08-09
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多