0
var me = null;
var testFn = (function() {
    me = this;
    return {
        me1: me,
        fn1 : function() {
           me = this;
             return {   
                    me2 : me,
                    fn2 : function() {
                        me = this;
                        return {
                            me3: me
                        }
                    }
                }        
        }
    }
})();

また:

var testFn = (function() {
    var me = this;
    return {
        me1: me,
        fn1 : function() {
           var me = this;
             return {   
                    me2 : me,
                    fn2 : function() {
                        var me = this;
                        return {
                            me3: me
                        }
                    }
                }        
        }
    }
})();

上記の 2 つのセグメントのうち、 を参照するのに最適な方法はどれですかthis。他に最善の方法はありますか、提案してください。

ありがとう.....

4

2 に答える 2

3

2番目のアプローチを使用することをお勧めします。これは、IoTが必要のないコンテキストを汚染しないように、クロージャー内で宣言されているためです。また、私がどのコンテキストに属しているかも明確になります。

于 2012-04-25T14:08:17.517 に答える
1

私は2番目のものを好みます。それはisのときに破壊されるので、thisより理にかなっています(それらは同じスコープにあります)。

完全に関連しているわけではありませんが、ほとんどの人は変数を呼び出しますthat:例:var that = this;

于 2012-04-25T14:09:03.613 に答える