2

おそらく深刻なjqueryおよびjavascriptプログラマーにとっては簡単な何かを理解するのに助けが必要です。

次のようなコードがあるとします。

jQuery.fn.extend({
   myNameSpace: {
     myPlugIn: function (o) { 
       var o = { variable : o.variable || false };

      var myfunction = function(v) {
      o.variable = v;
      };
      return {
         myfunction : myfunction
      };

    }
});

そして今、私はそれを呼び出すことができます:

x = new $.myNameSpace.myPlugIn({variable : 99}) ;

そして、私は自分の関数 myfunction をこのように呼び出します

x.myfunction(20);

私はそれを理解することができます、今質問: プラグイン内の変数の値を取得するにはどうすればよいですか.

などを試してみましalert(x.o[variable]);たが、手に入りません-簡単なはずです...

私が達成しようとしているのは、プラグイン内の何かが終了した場合、または計算された場合に呼び出すことができる値です。

4

1 に答える 1

1

次のように変更しない限り、現在のコードで内部の変数を取得することはできません。

var myfunction = function(v) {
    o.variable = v;
    return v;  //or o.variable
};

//...
x.myfunction(20)  //20;

追加した

jQueryのプラグインを作ろうとしているようです。プラグインを作成するには、$.extend. $.extendデフォルト設定をプリセットするためにのみ使用されます。[1]通常、プラグインの設定方法は次のとおりです。

(function($) {
    var methods = {
        getVar: function(){ 
            return $.extend({
                data: data,
            }, methods);
        },
        setVar: function(d){ 
            data = d;
            return methods;
        }
    },
    data = {};

    $.fn.myPlugin = function(options) {
        //do stuff
        data = $.extend( data , options );

        return methods;
    };
})(jQuery);

http://jsfiddle.net/DerekL/wv5QH/1/

于 2013-04-20T22:55:57.567 に答える