var Foo = (function () {

    var foo = function() { };

    var privateMethod = function(){ };

    foo.prototype = {
        init: function() {
            console.log(this.privateMethod); //undefined
        }
    };

    return foo;

})();


我知道我可以直接使用privateMethod而不使用this指针。但是由于我来自c#领域,所以我想将其用于可读性目的。

有没有办法使用指针引用我的“私有方法”?

最佳答案

你不能您只能使用this来引用“公共”方法。如果您确实想使用something.method表示法,则可以使用:

var Foo = (function () {

    var foo = function() { };

    var private = {
       privateMethod : function(){ };
    }

    foo.prototype = {
        init: function() {
            console.log(private.privateMethod);
        }
    };

    return foo;

})();

关于javascript - 在闭包中引用“私有(private)方法”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15688241/

10-09 18:13
查看更多