uber和prototype之间的Javascript差异
我对javaScript比较陌生,我做了一些继承。我以为我知道什么是原型,但后来我遇到了优步方法。现在我不知道这两者之间的区别。 我知道uber就像java中的super,仅此而已。但原型是困扰我的东西。uber和prototype之间的Javascript差异,javascript,Javascript,我对javaScript比较陌生,我做了一些继承。我以为我知道什么是原型,但后来我遇到了优步方法。现在我不知道这两者之间的区别。 我知道uber就像java中的super,仅此而已。但原型是困扰我的东西。 如果你能给我一些使用这两种方法的简单示例,我将非常感激。uber只是道格拉斯·克罗克福德在他的JavaScript继承示例中创建的一种糖类方法,这将有助于开发人员处理非常灵活的JavaScripts原型继承 本机JavaScript中不存在此方法。 他详细解释了他使用的糖法 在他的示例中,他
如果你能给我一些使用这两种方法的简单示例,我将非常感激。
uber
只是道格拉斯·克罗克福德在他的JavaScript继承示例中创建的一种糖类方法,这将有助于开发人员处理非常灵活的JavaScripts原型继承
本机JavaScript中不存在此方法。
他详细解释了他使用的糖法
在他的示例中,他将
uber
方法定义为访问方法父实现的助手方法
让我们假设您有一个“类”(我使用这个术语简化示例;严格来说,JavaScript中没有类)Human
,它有一个walk
方法。如果您现在在婴儿
类中“扩展”该类,您可以覆盖行走
,使婴儿只能爬行,因为它不能行走
这显然不是一个很好的例子,但我希望你能理解这一点
在这种情况下,您可以使用Douglas Crockfordsuber
方法访问婴儿
类中行走
的人类
实现
比较JavaScripts native
prototype
object和Douglas Crockfordsuber
方法毫无意义,因为两者的用途完全不同
如果你想了解更多关于JavaScripts
prototype
的信息,你可以看一看。据我所知,JavaScript中没有uber
方法,除非你使用一个将此方法添加到对象的库。你在用图书馆吗?我在用。它可能在其中定义。但我还是不知道区别,因为我知道优步是什么。这只是一个指向父对象的指针。我已经添加了一个关于道格拉斯·克罗克福德(Douglas Crockford)在他的继承教程中使用的uber
方法的答案,假设您的意思是这样的。这似乎是最流行的例子。你到底是在哪里发现uber的?我不确定Crockford是学习prototype的最好方法,因为我从未见过他正确地实现“经典继承”。下面的答案涵盖了构造函数和原型:希望有帮助