2014-02-08 3 views
-1

간단한 자바 스크립트를 사용하는 데 문제가 있습니다. 이 코드에서자바 스크립트 객체가 유형 오류를 던지고 있습니다.

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 ; 
    } 
} 
+1

'getTotal' 시도 개인 기능입니다. 'this.getTotal = function() {...'으로 변경하면 호출 할 수 있습니다. – Andy

+0

감사합니다 Andy는 치료를했습니다. – user1616338

답변

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]); 
    } 
}; 
관련 문제