我对动态编程语言不是很感兴趣,但我已经写了我自己的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
此外,这些slides真的帮助很大。
https://stackoverflow.com/questions/572897
复制相似问题