我无法使用简单的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 etc
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 ;
}
}
答案 0 :(得分:0)
而不是
function getTotal()
尝试以下
this.getTotal = function () {
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]);
}
};