Šim*_*das 8 javascript inheritance use-case
根据我的经验,JavaScript会这样做:
自从我开始深入研究原型继承之后,我想知道它是如何在实践中实际使用的.有什么用例?
有人在这里积极使用继承模式吗?做什么的?
(我知道我的问题有很多答案 - 我只想听听其中的一些内容,以便了解在JavaScript中使用继承)
我使用 jQuery(以及之前的 JavaScript)的经验是,原型继承并不像我预期的那么有用。它有用途,但对于语言来说并不重要。
在 Javascript 中,如果你想用方法返回一个对象foo:
return {
foo: function() {
alert('You called foo!');
}
};
Run Code Online (Sandbox Code Playgroud)
调用者可以将此类对象视为多态的 - 也就是说,他们可以调用而foo不必担心对象的“类型”。没有必要继承。
在此背景下,原型只是一种优化。它们允许您创建大量对象,而无需在每个实例中复制大量函数属性。这就是 jQuery 在内部使用它的原因。一个 jQuery 对象有几十个函数,将它们复制到每个实例中可能会产生很大的开销。
但从 jQuery 用户的角度来看,原型并不是特别重要。它可以被重写以不使用它们,并且它仍然可以工作(但可能会使用更多的内存)。