/ / Lokálna metóda a priestor názvov v pluginu jquery - jquery, premenné, jquery-pluginy, pluginy, súkromné ​​metódy

Miestna metóda a menný priestor v jquery plugin - jquery, premenné, jquery-pluginy, pluginy, private-metódy

Vytvoril som doplnok, ale chcem si byť istý, čo robím s „miestnymi“ funkciami.

Tu je schematicky to, čo som urobil:

(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);

Ako vidíte, kód nevkladám priamovo funkciách metód, ale v iných _funkciách. Dajú sa _funkcie považovať za miestnu alebo súkromnú funkciu doplnku? Nedarí sa mi ich volať mimo doplnku, takže sa mi zdá, že ich možno považovať za súkromné ​​funkcie ...

Musím vždy vložiť svoj kód do funkcie v objekte metód priamo? Ako deklarovať funkcie, ktoré sa použijú vo viacerých metódach?

A čo menný priestor? Nerozumiem tomu.

Vďaka !

odpovede:

0 pre odpoveď č. 1

Pretože vystavujete všetky metódy metódobjekt, ktorý je súčasťou tohto objektu, nebude súkromný. Akákoľvek funkcia deklarovaná vo vnútri inej funkcie má však rozsah na funkciu deklarácie, takže ak funkciu inak nesprístupníte, bude súkromná.