2016-12-25 9 views
0

我声明了一个构造函数得到如下如何获得总和与JS建设性作用

function student(i,n,a,d,g){ 
    // private 
    var age= a; 

    //data 
    this.id= i; 
    this.name= n; 
    this.dept= d; 
    this.grade= g; 

    this.getAge = function(){ 
     return age ; 
    } 

    this.setAge = function(a){ 
     age = a 
    } 
} 

,然后我会初始化数据如下

然后我试着获得分数的总和和平均值,但它没有奏效。

function sum(grade){ 
    var res=0; 
    for(var i=0; i<grade.length; i++){ 
     res+=grade[i]; 
     return res ; 
    } 
    var avg= res/grade.length;  
} 
+2

'在环形折返res'立即停止该函数的执行。 – Teemu

+0

你打电话给'sum'?顺便说一句,我认为你的意思是“构造函数”而不是“建设性函数”。无论如何,一个“构造函数”没有总和 - 它怎么可能,因为它只是一个函数?你的意思是使用该构造函数创建的许多实例的等级字段的总和?在这种情况下,你需要跟踪所有的实例,比如在某个数组中。另外,你似乎已经在你的问题的后面忽略了部分内容“然后我将数据初始化为以下内容”。 – 2016-12-25 12:56:17

+0

你说得对构造函数确实, – AmmarSharshera

回答

0

你真的不希望使用return内循环,因为它只是在第一个周期后立即停止循环。此外,该功能将在该时刻停止,并且变量将不会被设置。

function sum(grade) { 
 
    var res = 0; 
 
    for (var i = 0; i < grade.length; i++) { 
 
    res += grade[i]; 
 
    } 
 
    var avg = res/grade.length; 
 
    console.log(avg); 
 
}