var Foo = (function () {
var foo = function() { };
var privateMethod = function(){ };
foo.prototype = {
init: function() {
console.log(this.privateMethod); //undefined
}
};
return foo;
})();
我知道我可以直接访问privateMethod
而不使用this
指针。但由于我来自c#世界,我想将其用于可读性目的。
有没有办法使用指针引用我的“私有方法”?
答案 0 :(得分:2)
privateMethod
并非特定于foo
的每个实例。只需在没有this.
限定符的情况下引用它 - 尽管您可能希望记录函数调用的结果,而不是函数本身:
console.log(privateMethod());
答案 1 :(得分:2)
你不能。您只能使用this
来引用" public"方法。如果您真的想使用something.method
表示法,可以使用:
var Foo = (function () {
var foo = function() { };
var private = {
privateMethod : function(){ };
}
foo.prototype = {
init: function() {
console.log(private.privateMethod);
}
};
return foo;
})();