了解Javascript的原型关键字和实现

时间:2013-07-12 22:23:59

标签: javascript

我是Web-development的新手,来自C / C ++ / x86。尽管我努力绕过它,但似乎我需要使用Javascript(惊喜!)。

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

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

在阅读了几本备受吹捧的书籍和指南之后,我会看到的是例子。每个对象(保存全局对象)都有一个原型,这是另一个对象。必须有一个非常简单的机制,在后台运行这些所有这些对象的链接。

我不需要再听到“一个新对象继承了旧对象的属性”,你告诉12岁的孩子。例如,我知道C ++的虚拟表如何工作来理解虚函数的工作原理 - 一切都很有意义。

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

谢谢。

2 个答案:

答案 0 :(得分:0)

prototype属性视为staticprototype只是一个访问字,除了使用单词prototype为您访问的对象分配属性或对其进行重写外,它没有任何意义。

答案 1 :(得分:0)

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

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

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"