2012-08-09 114 views
0

我創造了這個對象返回值:如何計算和使用JavaScript對象的方法

var resultStats = { 
    possibleResults: 10, 
    validResults: 5, 
}; 

我會怎麼寫,這樣寫resultsStats["calculateSuccessRate()"](或類似)將計算Math.round(100*this.validResults/this.possibleResults);並返回50回答。

回答

3
var resultStats = { 
    possibleResults: 10.0, 
    validResults: 5.0, 
    calculateSuccessRate: function(){ 
     return Math.round(100 * this.validResults/this.possibleResults); 
    } 
}; 

功能可以接着使用被稱爲:

resultStats["calculateSuccessRate"](); 

或者:

resultStats.calculateSuccessRate(); 
+1

(NB如果您不需要動態地訪問屬性,最好是底部方法。) – Ryan 2012-08-09 19:20:22

+0

謝謝!但爲什麼最好的方法是首選? – 2012-08-09 19:36:37

0

,你可以一個calculateSuccessRate功能的resultStats對象。

var resultsStats = { 
    possibleResults: 10, 
    validResults: 5, 
    calculateSuccessRate: function(){ 
     return Math.round(100*this.validResults/this.possibleResults); 
    } 
}; 

然後,你可以這樣調用它:

resultsStats.calculateSuccessRate(); 

OR(你很接近):

resultsStats["calculateSuccessRate"]() 
1
var resultStats = { 
    calculateSuccessRate : function() { 
     return Math.round(100 * (this.possibleResults/this.validResults)) 
    }, 
    possibleResults: 10, 
    validResults: 5 
}; 
相關問題