在Javascript中定义类时,如何从另一个方法中调用一个方法?
exports.myClass = function () {
this.init = function() {
myInternalMethod();
}
this.myInternalMethod = function() {
//Do something
}
}
上面的代码在执行时给出了以下错误:
ReferenceError:未定义myInternalMethod
我也尝试过this.myInternalMethod和self.myInternalMethod,但都会导致错误。 什么是正确的方法?
答案 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
}
}