JavaScript .prototype如何工作?

JavaScript .prototype如何工作?

我不是那种动态编程语言,但是我写了很多JavaScript代码。我从来没有真正了解这个基于原型的编程,有没有人知道这是如何工作的?


var obj = new Object();

obj.prototype.test = function() { alert('Hello?'); };

var obj2 = new obj();

obj2.test();

我记得很久以前我和人们进行了很多讨论(我不确定我在做什么)但是据我所知,没有一个类的概念。它只是一个对象,这些对象的实例是原始的克隆,对吧?


但是JavaScript中这个“.prototype”属性的确切目的是什么?它与实例化对象有什么关系?


更新:正确的方式

var obj = new Object(); // not a functional object

obj.prototype.test = function() { alert('Hello?'); }; // this is wrong!


function MyObject() {} // a first class functional object

MyObject.prototype.test = function() { alert('OK'); } // OK

这些幻灯片也非常有帮助。



凤凰求蛊
浏览 406回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript