对象方法被视为字符串

Jer*_*myW 0 javascript function object

我正在定义一个非常简单的对象,它应该计算数字1和2的总和:

function Calculator() {
    this.number1 = 0;
    this.number2 = 0;
    this.sum = function() {
        return this.number1 + this.number2;
    }
}

var calculator = new Calculator();
calculator.number1 = 1;
calculator.number2 = 2;

console.log(calculator.sum);
Run Code Online (Sandbox Code Playgroud)

但是,当我运行"sum"方法时,控制台返回:

function() {
        return this.number1 + this.number2;
    }
Run Code Online (Sandbox Code Playgroud)

这就像我的方法被认为是一个字符串,但我不明白为什么......

Gui*_*ehn 6

你忘了叫它.使用:

console.log(calculator.sum());
Run Code Online (Sandbox Code Playgroud)

您的方法不被视为字符串.会发生什么calculator.sum是一个包含函数的变量.在没有调用的情况下记录它只会返回它的主体.