我有一個fiddle幫助我理解JavaScript原型和繼承。評論講述了這個故事。瞭解原型和增強
//From Douglas Crockford's "Javascript: the good parts": a helper to hide the "ugliness" of setting up a prototype
Function.prototype.method = function(name,func) {
this.prototype[name] = func;
return this;
}
function SomeFunc(value) {
this.setValue(value);
}
//Inherit the function (to me this conceptually the same as adding a member to a class)
SomeFunc.method('setValue', function (value) {
this.value = value;
return this;
});
try
{
SomeFunc(1);
}
catch(e)
{
alert(e);
}
爲什麼我會得到異常?我的筆記是否正確,因爲JavaScript調用繼承是古典程序員簡單地向類中添加新成員?增強和繼承有什麼區別?
一開始的情況下,看看[使用對象](https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects)和[繼承和原型鏈](https://developer.mozilla.org/zh/JavaScript/Guide/Inheritance_constructor_prototype)。 –
你在'SomeFunc(1)'之前忘了''''' – Kru
@Kru - 修正了錯誤。爲什麼需要新的? –