原因是,虽然我们可以在 Javascript 中使用伪经典继承,但实际上我们必须实现自己的extend
or inherit
。
原型继承呢——我认为它确实有这样的特性,如果foo.bar
使用了,如果bar
不是 的属性foo
,解释器或编译代码(例如如果使用 Google V8)将沿着原型链上升,但是有没有内置方法可以使 objectb
的隐藏原型属性指向a
原型链。我们必须通过定义一个clone()
函数或Object.create()
. 更重要的是,我想我在纯原型继承代码中看到没有任何构造函数。所以看起来在原型代码中,没有构造函数(构造函数)。但是如果我们使用原型继承,我们实际上必须clone()
使用构造函数来实现——这更像是伪经典继承方面。
所以看起来原来的 Javascript 实际上既不是伪经典也不是原型继承?根据维基百科的这篇文章,我读到它需要在 10 天内上市,否则市场上会出现更糟糕的情况。但我也有些纳闷,为什么在 1995 年 Javascript 出现后的 1 年或 2 年,至少 Netscape 版本的 Javascript 还没有添加extend
andObject.create()
方法?
这个问题旨在理解和澄清 Javascript 的伪经典和原型部分中的一些概念。这是真的吗——原始的 Javascript 本身并没有伪经典或原型继承支持?