在Javascript类中调用另一个方法

时间:2013-12-01 10:37:17

标签: javascript node.js class methods referenceerror

在Javascript中定义类时,如何从另一个方法中调用一个方法?

exports.myClass = function () {

    this.init = function() {
        myInternalMethod();
    }

    this.myInternalMethod = function() {
        //Do something
    }
}

上面的代码在执行时给出了以下错误:

  

ReferenceError:未定义myInternalMethod

我也尝试过this.myInternalMethod和self.myInternalMethod,但都会导致错误。 什么是正确的方法?

3 个答案:

答案 0 :(得分:6)

我创建了这个小提琴http://jsfiddle.net/VFKkC/在这里你可以调用myInternalMedod()

var myClass = function () {

    this.init = function() {
        this.myInternalMethod();
    }

    this.myInternalMethod = function() {
        console.log("internal");
    }
}

var c = new myClass();

c.init();

答案 1 :(得分:0)

this.myInternalMethod()似乎确实有效:

var exports = {};
exports.myClass = function () {

    this.init = function() {
        this.myInternalMethod();
    }

    this.myInternalMethod = function() {
        //Do something
    }
}

var x = new exports.myClass();
x.init();

答案 2 :(得分:0)

是私人会员吗?

exports.myClass = function () {

    this.init = function() {
        myInternalMethod();
    }

    function myInternalMethod() {
        //Do something
    }
}