2

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

exports.myClass = function () {

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

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

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

ReferenceError: myInternalMethod 未定义

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

4

3 回答 3

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();
于 2013-12-01T10:41:44.657 回答
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();
于 2013-12-01T10:41:34.293 回答
0

是私人会员吗?

exports.myClass = function () {

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

    function myInternalMethod() {
        //Do something
    }
}
于 2013-12-01T10:42:16.403 回答