无论出于什么原因,在创建TypeError: Object #<Num> has no method 'getNumber'作为numberOne的实例时都会得到Num

function Num(n) {
    var number = n;
    var getNumber = function() {
        return number;
    };
}

var numberOne = new Num(5);
console.log(numberOne.getNumber());

最佳答案

您正在创建一个名为getNumber的局部变量,而不将其附加到该对象。要么将其提供给对象,要么将其放在原型中:

this.getNumber = function() {


要么

function Num(n) {
    this.number = n;
}

Num.prototype.getNumber = function() {
    return this.number;
}


如果要创建许多对象,则可能要在原型上放置getNumber,这样就不会在每次创建对象时就将其添加到对象中。

10-08 12:55