4

私はいくつかの JavaScript コードを書いています。このキーワードについて少し混乱しています。関数でロガー変数にアクセスするにはどうすればよいdataReceivedHandlerですか?

MyClass: {
    logger: null,
    init: function() {
        logger = LogFactory.getLogger();
    },
    loadData: function() {
        var dataReceivedHandler = function() {
            // how to access the logger variable here? 
        }

        // more stuff
    }
};
4

3 に答える 3

10

loadData 関数内でこのようなことを行って、オブジェクトにアクセスできます...

MyClass: {
    logger: null,
    init: function() {
        this.logger = LogFactory.getLogger();
    },
    loadData: function() {
        var self = this;
        var dataReceivedHandler = function() {
            // how to access the logger variable here? 
            self.logger.log('something');
        }

        // more stuff
    }
};
于 2013-04-05T00:25:14.270 に答える
6

loadData次のように呼び出されると仮定します。

MyClass.loadData();

それから:

loadData: function() {
    var self = this;
    var dataReceivedHandler = function() {
        self.logger ...
    }

    // more stuff
}
于 2013-04-05T00:23:47.080 に答える