0

我是网络开发的新手,来自 C/C++/x86。尽管我竭尽全力规避它,但似乎我需要使用 Javascript(惊喜!)。

好吧,如果我必须使用它,我不妨了解发生了什么。这很困难,因为我习惯于能够轻松地将 C/C++ 映射到 x86/x86_64 以弄清楚发生了什么。更不用说,Javascript 是一个完全不同的范式来习惯。

那么,这个原型关键字是什么,这个原型继承又是如何实现的呢?

在阅读了一些高度吹捧的书籍和指南之后,我会看到一些例子。每个对象(除了全局对象)都有一个原型,它是另一个对象。必须有一个非常简单的机制在后台运行,以了解如何链接所有这些对象。

我不需要再听到你告诉 12 岁孩子的“新对象继承旧对象的属性”的胡言乱语。例如,我知道 C++ 的虚表是如何工作的,以了解虚函数是如何工作的——一切都说得通。

那么,Javascript 是如何使用原型设计的呢?

谢谢你。

4

2 回答 2

0

prototype属性视为staticprototype只是一个访问词,除了将属性分配给或覆盖您正在使用 word 访问的对象之外,它没有任何意义prototype

于 2013-07-12T22:33:32.043 回答
0

prototype是 Javascript 的语言结构。这是 JavaScript 的继承方法。

在 javascript 中(直到 ECMAScript6,但这是一个不同的主题)没有 true classesnew相反,我们创建对象的实例,并且我们可以使用关键字创建这些对象的子实例。例如:

var parent = function() {};
parent.prototype.lastName = "Flynn";
var child = new parent();
console.log(child.lastName); //Outputs "Flynn"

另外,有趣的是:

parent.prototype.nationality = "American";
console.log(child.nationality); //Outputs "American"
于 2013-07-12T22:41:25.443 回答