我通常可以在十分钟内找到自己的错误,但我似乎无法确定我在这里做错了什么。有人可以告诉我为什么我无法获得这些功能的警报吗?
var Emp = function( vEname, vSal ) {
this.Ename = vEname;
this.Sal = vSal;
this.getAnnSal: function() {
return this.Sal * 12;
}
this.getQuarterSal: function() {
return this.Sal * 3;
}
};
var oEmp = new Emp("Jag", 2300);
alert("Annual salary: " + oEmp.getAnnSal());
alert("Quarter Salary: " + oEmp.getQuarterSal());
答案 0 :(得分:0)
this.getAnnSal: function()
应该是
this.getAnnSal = function() { ... }
但是,这会将函数添加到对象的每个实例中。
如果您要拥有多个实例,则应使用原型 - 如下所示:
var Emp = function (vEname, vSal) {
this.Ename = vEname;
this.Sal = vSal;
}
Emp.prototype.getAnnSal = function() {
return this.Sal * 12;
}
通过这种方式,该功能可用于Emp的所有实例,但不能重复。