-1
我無法獲得簡單的JavaScript工作。我得到這個錯誤信息:Javascript對象引發類型錯誤
TypeError: tableKeyPerInd1.getTotal is not a function
tempHold = tableKeyPerInd1.getTotal();
從這個代碼:
tableKeyPerInd1 = new table("keyPerformanceIndicators");
console.log(tableKeyPerInd1.table);
tempHold = tableKeyPerInd1.getTotal();
console.log(tempHold);
function table(TableName){
this.table=TableName;
function getTotal()
{
this.runningTotal = 0;
columns = new Array("Mon","Tue","Wed","Thu","Fri","Sat");
for(var t=0; t<columns.length ;t+=1){
this.runningTotal += $('SupplementaryExamKPI'+columns[t]) + $('DiabeticScreeningKPI'+columns[t])+$('LvaKPI'+columns[t]);
}
}
}
我怎樣才能解決這個問題?
我認爲如果我發佈完整的解決方案,它可能會幫助別人。我還在此解決方案中添加了如何即時創建對象。因此,這將創建一個總額,它的每一天即this.Mon創建單獨的對象,this.Tue等
tableKeyPerInd1 = new table("keyPerformanceIndicators");
columns = new Array("Mon","Tue","Wed","Thu","Fri","Sat");
function table(TableName){
this.table=TableName;
this.runningTotal = 0;
this.Mon = 0;
this.getTotal = function getTotal()
{
this.runningTotal = 0;
for(var t=0; t<columns.length ;t+=1){
var supexam = Number.from($('SupplementaryExamKPI'+columns[t]).get('value'));
var diabeticscreen = Number.from($('DiabeticScreeningKPI'+columns[t]).get('value'));
var lva = Number.from($('LvaKPI'+columns[t]).get('value'));
this.runningTotal += supexam + diabeticscreen+lva;
this[columns[t]] = supexam + diabeticscreen+lva;
}
return ;
}
}
'getTotal'是一個私人功能。如果將其更改爲'this.getTotal = function(){...',則可以調用它。 – Andy
謝謝安迪工作過 – user1616338