1
爲什麼這段代碼給我一個錯誤「Uncaught TypeError:無法設置未定義的屬性'grossSuperAnnuation'?謝謝。試圖理解對象原型
function taxCalculation(configuration){
this.superAnnuationPercentage = configuration.superAnnuationPercentage;
this.superAnnuationTaxRate = configuration.superAnnuationTaxRate;
};
var tax = new taxCalculation({
superAnnuationPercentage: 9.25,
superAnnuationTaxRate: 15
});
tax.prototype.grossSuperAnnuation = function(income){
return income * this.superAnnuationPercentage/100;
};
因爲原型是構造函數的屬性。但是每個對象都有鏈接到它的構造函數。因此,您可以執行以下操作:'tax.constructor.prototype.grossSuperAnnuation = function(){...}' – Evgeniy 2014-09-04 12:58:04
不確定爲什麼要在實例上設置共享行爲。你想混淆自己和將來的程序員在處理你的代碼嗎?有關構造函數和原型的更多信息,請訪問:http://stackoverflow.com/questions/16063394/prototypical-inheritance-writing-up/16063711#16063711 – HMR 2014-09-04 13:42:22