0
我想用另一個原型擴展原型。這是我目前的代碼,嘗試了不同的東西,我無法實現它的工作。用另一個原型擴展原型
Network.prototype是一個空對象,爲什麼?
function Tester() {}
Tester.prototype = {
\t clazz: 'Tester',
\t start: function (url) {}
};
function NetworkTester() {}
NetworkTester.prototype = {
\t clazz: 'NetworkTester',
test: function (url) {
this.start(); // this is undefined
}
};
var helpers = {
extend2: function (ChildClass, ParentClass) {
\t \t ChildClass.prototype = new ParentClass();
\t \t ChildClass.prototype.constructor = ChildClass;
\t }
};
helpers.extend2(NetworkTester, Tester);
console.log(NetworkTester.prototype);
我不想寫NetoworkTester這樣的代碼:
NetworkTester.prototype.clazz = 'NetworkTester';
NetworkTester.prototype.test = function (url) {
this.start(); // this is undefined
};
我想它,因爲我有它,它是漂亮。
恕我直言,使用'Object.create'是@Alnitak'Object.create'只爲對象創建爲此在ES5 – Alnitak
的_only_正確的方法,或使用第二個參數填充對象? – nils
僅用於創建新的原型對象 - 從超類的_instance_複製原型只是「錯誤的」。 – Alnitak