2

我一直在阅读JavaScript:The Good Parts,目前正在阅读“第 5 章:继承”。

据我了解,使用函数继承是首选,因为它允许对象的属性和变量的隐私,同时仍然允许使用对象外部的方法调用它们。然而,原型继承似乎确实有一个优势,因为您可以相当容易地创建原型对象(这使得理解对象是什么,对我来说,更具体一点)。

我什么时候应该选择一个而不是另一个?我应该尽可能使用函数继承吗?或者我可以遵循“更好”的指导方针来做出决定吗?

4

1 回答 1

3

我见过很少的代码使用函数技术作为继承的主要形式。我见过的绝大多数都使用原型继承。它快速且易于实现,对 JavaScript 来说似乎是最自然的。

这并不是说永远不应该使用函数继承,但我认为您会发现原型对于大多数应用程序来说绰绰有余。

我们也不要忘记,您仍然可以在原型继承中使用一些函数式技术,例如为每个对象提供其自己的函数版本,该函数在构造函数中关闭变量。所以它不需要完全是一个或另一个。

最重要的是理解原型和函数/闭包的概念。仅此一项就可以为您提供做出适当决定所需的知识。

于 2013-04-21T19:58:26.437 回答