Javascript对象原型函数

时间:2016-12-13 21:33:39

标签: javascript function prototype

我在一个对象中有三个方法。

其中2个正常工作,当第三个打印时 - 它打印出代码本身,而不是功能。以下是代码以及它在控制台中的外观:

function Students(name, lastname, grades){
    this.name = name;
    this.lastname = lastname;
    this.grades = grades;
    this.addGrade = function(a){
        this.grades.push(a);
    }
    this.printData = function(){
        console.log("Name: " + this.name);
        console.log("Grades: " + this.grades);
        console.log("Average: " + this.gradeAvg);
    }
    this.gradeAvg = function(){
        console.log("blabla");
    }
}

var StudentasA = new Students("Petras", "Petrauskas", [8, 9, 9, 8, 7]);
var StudentasB = new Students("Jurgis", "Jurgauskas", [6, 7, 5, 4, 9]);
StudentasA.printData();
StudentasA.addGrade(28);
StudentasA.printData();

控制台:

console view

2 个答案:

答案 0 :(得分:1)

您的代码实际上从不调用该函数。

相反,您将函数本身直接连接到字符串中。

你想要括号。

答案 1 :(得分:1)

你需要调用函数

add.cpp



this.gradeAvg()
//           ^^