0

プラグインを作成しましたが、「ローカル」関数で何をするかを確認したいと思います。

これが私がしたことの概略です:

(function($) {

 var methods = {
     init : function( options ) {

       // CODE ...

       // Call of a local function
       _test( this );

       // CODE .....

     },
     destroy : function( ) {       
         // CODE .....
        _test( this );
         // CODE .....
     }
  };

  function _test( container ) {
       // My code : example :
       $(container).append("<div id='myplugin'></div>");
  }

 $.fn.myplugin = function( method ) {

    if ( methods[method] ) {
      return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
    }
    else if ( typeof method === 'object' || ! method ) {
      return methods.init.apply( this, arguments );
    }
    else {
      $.error( 'Method ' +  method + ' does not exist on jQuery.myplugin' );
    }    

  };

})(jQuery);

ご覧のとおり、コードをメソッド関数に直接挿入するのではなく、他の _functions に挿入します。_functions は、プラグインのローカルまたはプライベート関数と見なすことができますか? 私はプラグインの外でそれらを呼び出すことに成功していないので、私にとってはプライベート関数と見なすことができるようです...

メソッド オブジェクトの関数にコードを直接配置する必要がありますか? 複数のメソッドで使用される関数を宣言する方法は?

名前空間はどうですか?よくわかりません。

ありがとう !

4

1 に答える 1

0

メソッド オブジェクトのすべてのメソッドを公開しているため、そのオブジェクトの一部であるものは何でもプライベートではありません。ただし、別の関数内で宣言された関数は、宣言する関数にスコープされるため、関数をアクセス可能にしないと、非公開になります。

于 2012-06-11T18:00:28.280 に答える