var Obj = function(par) {
this.par = par;
};
Obj.prototype.addPar = function(num) {
return num + this.par;
};
Obj.prototype.add3more = function(fun, num) {
return fun(num) + 3;
};
Obj.prototype.callAdd3more = function(num) {
return this.add3more(this.addPar, num);
};
var obj = new Obj(2);
console.log(obj.callAdd3more(1));
我希望上面的代码打印出5,但它会输出NaN。不知何故,addPar似乎被调用到了对象obj
的范围之外,因为它被调用this.par
时未定义。
我无法理解为什么或如何纠正代码。
非常感谢你的帮助。