SlideShare uma empresa Scribd logo
1 de 7
Closuresin JavaScriptA Closure	 JavaScriptben The clientside MVC system: Wherecould be theclosureuseful? A kliens oldali MVC rendszer: Hogyan lehet a closure hasznos?
What is theClosure?Mi a Closure?			 var functioninClosureSheeper() functionsetSheeper() var inclosuresheeps functiongetSheeper() Howmanysheepsdowehave? Whycan’t he hearme? Hány birkánk van? Hééé? Miért nem hall ? Tryus! Wehavedirect line tohim! Próbáld velünk! Van egy közvetlen vonalunk hozzá! functionoutOfClosure()
Toget more real: clientSide MVCÉletszerűbben: Kliens oldali MVC	 Tehát a closure segíthet nekünk olyan esetben, ha valamit el akarunk rejteni a globális névtér elől, akár a saját, akár programozó társaink segítégére. So, theclosurecanhelpustohidesomethingfromtheglobalscope, tohelpthecoding of ourselves, orthecodingofothers. Röviden a másik oldalon: / To be short (Revealed Module Pattern by Christian Heilmann) inthenextslide:
varglobal = (function() { varprivate; varprivatemethod = function()  { //blablalba } return  { priveteGetter :privatemehtod//<= setthereference } })(); privatemethod(); //<= wontworklikethis global.privateGetter() ; //<= works Tehát ha akarunk egy Rajzprogramot / Ifweneed a Drawing program: Model(an objecttohandlingdrawnobjects, hold theirproperties, algorithms of shapes, etc. /Egy objektum mely a rajzolt dolgokat kezeli, tárolja tulajdonságaikat, stb) Controller(an objecttohandlingevents, getsthemfromtheView, and updatestheModelaccordingly / egy objektum mely kezeli az eseményeket, melyek a View-től érkeznek és  ennek megfelelően frissíti a modelt View (The shapesdrawingtool, as SVG or <canvas> oranyjavascriptdrawinglibrary –JSXGraph/ Az alakzatokat rajzoló  eszköz, SVG vagy <canvas> vagy bármilyen javascript függvénykönyvtár, plJSXGraph)
Miért jó ez nekünk?Why is itgoodforus?				 Wecanmakeournicemethods, to be allprivate, thatlatercanbechanged, withouttheneedtochangethe most used (public) methods of thecode /Elkészíthetjük a saját privát metódusainkat, később változtathatunk a kódon anélkül, hogy a több helyen használt (public) metódusainkon változtatnánk. The code is nicelyseparated, and easytofindormaintainthings / A kód olvashatóbb, és könnyű karbantartani vagy megtalálni dolgokat. The samenamecan be used more times, soit is easytoremember, and fit inthegivencontex / ugyanazt a nevet használhatjuk többször, így egyszerűbb rá emlékezni, és jobban illeszkedik az adott környezetben. Ifweplantoshareourcode, ormake a biggerlibrary, it is esayto update ormodifywithoutbreakingother’scode / Ha mások is használják a kódunkat, vagy függvénykönyvtár létrehozását tervezzük, könnyebb a frissítés anélkül hogy mások kódját tönkretennénk
Sosee an example – inthegraphical program weneed x and y. Becauseweusedtoit, and itfitsinthecontext, anddon’twanttobotherwith x_1, x_m, x_v orothernames / Lássunk egy példát – egy rajprogramban szükségünk van x – re és y –ra. Mivel hozzászoktunk, beleillik a környezetbe, és nem akarunk x_1, x_m, x_v változónevekkel vacakolni. varView = (function() { var x, y; vargetx = function()  { return x ; }; varsetx = function(val)  {  x = val; }; return  { getX:getx, //<= setthereference / adjunk referenciát a privát függvényre getY:gety } })(); varController = (//dothesamewithController and Modeltoo – ugyanígy írjuk meg a Controller és Model objektumunkat is //usage: codenicelyseparatedwithwellknownmethods /használat: a kód olvasható, mégis az ismert metódusainkat használjuk View.getX(); Controller.setY(val);
Thanksforreading / Köszönöm Ancsin Gábor (ancsingaboristvan@gmail.com)

Mais conteúdo relacionado

Semelhante a Closures In Java Script

Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanAntal Orcsik
 
HTML5 esettanulmányok
HTML5 esettanulmányokHTML5 esettanulmányok
HTML5 esettanulmányokZoltán Dávid
 
A PHP 5.4 újdonságai
A PHP 5.4 újdonságaiA PHP 5.4 újdonságai
A PHP 5.4 újdonságaiFerenc Kovács
 
Mágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaMágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaJános Ács
 
Mitol konnektivista egy képzés
Mitol konnektivista egy képzésMitol konnektivista egy képzés
Mitol konnektivista egy képzésZsolt Kulcsár
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddalthesnufkin
 
PHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosításaPHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosításaFerenc Kovács
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxSzabolcs Gulyás
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
I. Elmélet - Általános ismertető a ERP rendszerekről.pptx
I. Elmélet -  Általános ismertető a ERP rendszerekről.pptxI. Elmélet -  Általános ismertető a ERP rendszerekről.pptx
I. Elmélet - Általános ismertető a ERP rendszerekről.pptxSzabolcs Gulyás
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaFerenc Kovács
 
Vjzvzr cikk
Vjzvzr cikkVjzvzr cikk
Vjzvzr cikkpszaby
 
II. Elmélet - ERP rendszerek árazása.pptx
II. Elmélet - ERP rendszerek árazása.pptxII. Elmélet - ERP rendszerek árazása.pptx
II. Elmélet - ERP rendszerek árazása.pptxSzabolcs Gulyás
 
Felhő alapú számítástechnika
Felhő alapú számítástechnikaFelhő alapú számítástechnika
Felhő alapú számítástechnikaKároly Novák
 
[Hungarian] Sysgenic Introduction - Sapientia University
[Hungarian] Sysgenic Introduction - Sapientia University[Hungarian] Sysgenic Introduction - Sapientia University
[Hungarian] Sysgenic Introduction - Sapientia UniversityZoltan Iszlai
 
Biztonságos webalkalmazások fejlesztése
Biztonságos webalkalmazások fejlesztéseBiztonságos webalkalmazások fejlesztése
Biztonságos webalkalmazások fejlesztéseFerenc Kovács
 
Cgi röviden ajmar
Cgi röviden ajmarCgi röviden ajmar
Cgi röviden ajmarbonami2014
 
Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Tamas Cservenak
 
Andréka Áron web 2.0
Andréka Áron web 2.0Andréka Áron web 2.0
Andréka Áron web 2.0Aaron9102
 

Semelhante a Closures In Java Script (20)

Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatban
 
HTML5 esettanulmányok
HTML5 esettanulmányokHTML5 esettanulmányok
HTML5 esettanulmányok
 
A PHP 5.4 újdonságai
A PHP 5.4 újdonságaiA PHP 5.4 újdonságai
A PHP 5.4 újdonságai
 
Applink / deeplink
Applink / deeplinkApplink / deeplink
Applink / deeplink
 
Mágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaMágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világába
 
Mitol konnektivista egy képzés
Mitol konnektivista egy képzésMitol konnektivista egy képzés
Mitol konnektivista egy képzés
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
 
PHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosításaPHP alkalmazások minőségbiztosítása
PHP alkalmazások minőségbiztosítása
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
I. Elmélet - Általános ismertető a ERP rendszerekről.pptx
I. Elmélet -  Általános ismertető a ERP rendszerekről.pptxI. Elmélet -  Általános ismertető a ERP rendszerekről.pptx
I. Elmélet - Általános ismertető a ERP rendszerekről.pptx
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálása
 
Vjzvzr cikk
Vjzvzr cikkVjzvzr cikk
Vjzvzr cikk
 
II. Elmélet - ERP rendszerek árazása.pptx
II. Elmélet - ERP rendszerek árazása.pptxII. Elmélet - ERP rendszerek árazása.pptx
II. Elmélet - ERP rendszerek árazása.pptx
 
Felhő alapú számítástechnika
Felhő alapú számítástechnikaFelhő alapú számítástechnika
Felhő alapú számítástechnika
 
[Hungarian] Sysgenic Introduction - Sapientia University
[Hungarian] Sysgenic Introduction - Sapientia University[Hungarian] Sysgenic Introduction - Sapientia University
[Hungarian] Sysgenic Introduction - Sapientia University
 
Biztonságos webalkalmazások fejlesztése
Biztonságos webalkalmazások fejlesztéseBiztonságos webalkalmazások fejlesztése
Biztonságos webalkalmazások fejlesztése
 
Cgi röviden ajmar
Cgi röviden ajmarCgi röviden ajmar
Cgi röviden ajmar
 
Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)
 
Andréka Áron web 2.0
Andréka Áron web 2.0Andréka Áron web 2.0
Andréka Áron web 2.0
 

Closures In Java Script

  • 1. Closuresin JavaScriptA Closure JavaScriptben The clientside MVC system: Wherecould be theclosureuseful? A kliens oldali MVC rendszer: Hogyan lehet a closure hasznos?
  • 2. What is theClosure?Mi a Closure? var functioninClosureSheeper() functionsetSheeper() var inclosuresheeps functiongetSheeper() Howmanysheepsdowehave? Whycan’t he hearme? Hány birkánk van? Hééé? Miért nem hall ? Tryus! Wehavedirect line tohim! Próbáld velünk! Van egy közvetlen vonalunk hozzá! functionoutOfClosure()
  • 3. Toget more real: clientSide MVCÉletszerűbben: Kliens oldali MVC Tehát a closure segíthet nekünk olyan esetben, ha valamit el akarunk rejteni a globális névtér elől, akár a saját, akár programozó társaink segítégére. So, theclosurecanhelpustohidesomethingfromtheglobalscope, tohelpthecoding of ourselves, orthecodingofothers. Röviden a másik oldalon: / To be short (Revealed Module Pattern by Christian Heilmann) inthenextslide:
  • 4. varglobal = (function() { varprivate; varprivatemethod = function() { //blablalba } return { priveteGetter :privatemehtod//<= setthereference } })(); privatemethod(); //<= wontworklikethis global.privateGetter() ; //<= works Tehát ha akarunk egy Rajzprogramot / Ifweneed a Drawing program: Model(an objecttohandlingdrawnobjects, hold theirproperties, algorithms of shapes, etc. /Egy objektum mely a rajzolt dolgokat kezeli, tárolja tulajdonságaikat, stb) Controller(an objecttohandlingevents, getsthemfromtheView, and updatestheModelaccordingly / egy objektum mely kezeli az eseményeket, melyek a View-től érkeznek és ennek megfelelően frissíti a modelt View (The shapesdrawingtool, as SVG or <canvas> oranyjavascriptdrawinglibrary –JSXGraph/ Az alakzatokat rajzoló eszköz, SVG vagy <canvas> vagy bármilyen javascript függvénykönyvtár, plJSXGraph)
  • 5. Miért jó ez nekünk?Why is itgoodforus? Wecanmakeournicemethods, to be allprivate, thatlatercanbechanged, withouttheneedtochangethe most used (public) methods of thecode /Elkészíthetjük a saját privát metódusainkat, később változtathatunk a kódon anélkül, hogy a több helyen használt (public) metódusainkon változtatnánk. The code is nicelyseparated, and easytofindormaintainthings / A kód olvashatóbb, és könnyű karbantartani vagy megtalálni dolgokat. The samenamecan be used more times, soit is easytoremember, and fit inthegivencontex / ugyanazt a nevet használhatjuk többször, így egyszerűbb rá emlékezni, és jobban illeszkedik az adott környezetben. Ifweplantoshareourcode, ormake a biggerlibrary, it is esayto update ormodifywithoutbreakingother’scode / Ha mások is használják a kódunkat, vagy függvénykönyvtár létrehozását tervezzük, könnyebb a frissítés anélkül hogy mások kódját tönkretennénk
  • 6. Sosee an example – inthegraphical program weneed x and y. Becauseweusedtoit, and itfitsinthecontext, anddon’twanttobotherwith x_1, x_m, x_v orothernames / Lássunk egy példát – egy rajprogramban szükségünk van x – re és y –ra. Mivel hozzászoktunk, beleillik a környezetbe, és nem akarunk x_1, x_m, x_v változónevekkel vacakolni. varView = (function() { var x, y; vargetx = function() { return x ; }; varsetx = function(val) { x = val; }; return { getX:getx, //<= setthereference / adjunk referenciát a privát függvényre getY:gety } })(); varController = (//dothesamewithController and Modeltoo – ugyanígy írjuk meg a Controller és Model objektumunkat is //usage: codenicelyseparatedwithwellknownmethods /használat: a kód olvasható, mégis az ismert metódusainkat használjuk View.getX(); Controller.setY(val);
  • 7. Thanksforreading / Köszönöm Ancsin Gábor (ancsingaboristvan@gmail.com)