рдиреНрдпреВрдЯреНрд░рд┐рдиреЛ - рдкреВрд░реНрдг рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ

рдПрдХ рдЫреЛрдЯреЗ рд╕реАрдорд╛рдВрдд рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдмреИрдХрдмреЛрди, рдПрдореНрдмрд░ рдпрд╛ рдиреЙрдХрдЖрдЙрдЯ рдЬреИрд╕реЗ рднрд╛рд░реА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдмреБрджреНрдзрд┐рдорд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдореЙрдбрд▓, рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрдиреА рд╣реБрдИ рд╣реИред рдореИрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдиреНрдпреВрдЯреНрд░рд┐рдиреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд▓рд╛рддрд╛ рд╣реВрдВ, рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдХреЛрдб рдХреА 100 рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред

рдХрд┐рд╕реА рднреА рд░реВрдкрд░реЗрдЦрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рдбреЗрдореЛ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╡рд░реНрдЧ рдирд┐рд░реНрдорд╛рдг


рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, _neutrino.Root рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА ' рд╡рд┐рд╕реНрддрд╛рд░ ' рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рд╕реНрдерд┐рд░ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред

var Model = _n.Root.extend({ //methods and static members }); 

рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐ рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддреА рд╣реИред

рдХрдХреНрд╖рд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛

рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдирдП рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд┐рд░реНрдл рдПрдХ рддрд░реНрдХ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рддрд░реНрдХ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирдП рдмрдирд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред

 var model = new Model({ id: 1 }); alert(model.data.id); //1 


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди

рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдХрд┐рд╕реА рднреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 var Model = _n.Root.extend({ defaults: { id: "default id" } }); var model = new Model(); alert(model.data.id); //"default id" 


рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕

рд╣рдо рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрджреНрдо рдирд┐рд░реНрдорд╛рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЫрджреНрдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрдорд╛рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ - рдЗрд╕реЗ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдирдП рдСрдкрд░реЗрдЯрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЫрджреНрдо-рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛрдб рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореВрд▓ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред_рд╕реБрдкрд░ рдХреЙрд▓ ();

 var Model = _n.Root.extend({ construct: function() { this._superCall(); alert("Hello world"); } }); 


рд╡рд┐рд░рд╛рд╕рдд


рдиреНрдпреВрдЯреНрд░рд┐рдиреЛ рдкреВрд░реНрдг рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:

рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
 var Parent = _n.Root.extend({ defaults: { a: 1, b: 2 }, construct: function() { this._superCall(); alert(this.getSum()); }, getSum: function() { return this.data.a + this.data.b; } }); var Child = Parent.extend({ defaults: { a: 10, c: 3 }, getSum: function() { return this.superCall() + this.data.c; } }); new Parent(); //alert(1 + 2); new Child(); //alert(10 + 2 + 3); 


рдЕрднрд┐рднрд╛рд╡рдХ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛

рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░, рдирд┐рдХрдЯрддрдо рдкреИрд░реЗрдВрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдореВрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЙрд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╡рд┐рдзрд┐ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред_рд╕реБрдкрд░рдХрд▓рд╛ ();

 ... someMethod: function(a, b, c) { return this._superCall(); //call closest parent method with a,b,c parameters } ... 


рдпрджрд┐ рдореВрд▓ рд╡рд┐рдзрд┐ рдХреЛ рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЖрдкрдХреЛ рдирд┐рдХрдЯрддрдо рдореВрд▓ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ред SuperModod;

 ... someMethod: function(a, b, c) { return this._superMethod(a + 1, b + 1, c + 1); //call closest parent method with changed parameters } ... 


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ред рд╕реБрдкрд░рдХреЙрд▓ (); рдпрд╣ рдЗрд╕ рдХреЗ рд╕рдорддреБрд▓реНрдп рд╢реЙрд░реНрдЯрд╣реИрдВрдб рд╣реИ ред_рд╕реБрдкрд░рдореЗрдереЛрдб.рд▓реАрд▓реА (рдпрд╣, рддрд░реНрдХ) ;

рдШрдЯрдирд╛рдУрдВ


рдИрд╡реЗрдВрдЯ рдореЙрдбрд▓ рдХреА рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ ... рдиреНрдпреВрдЯреНрд░рд┐рдиреЛ рдореЗрдВ рдореЙрдбрд▓ рдИрд╡реЗрдВрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдореЙрдбрд▓реЛрдВ рд╕реЗ рдИрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╡реЗрдВрдЯ рдЬрдирд░реЗрд╢рди

рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреА рдлрд╝рд╛рдпрд░рдЗрди рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдШрдЯрдирд╛ рдХрд╛ рдирд╛рдо EventName рдФрд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ) рдПрдХ рдЬрд╛рдирдХрд╛рд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

  model.fireEvent("item-added", { item: item //some additional information }); 


рдЕрдкрдиреА рдЦреБрдж рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛

рдЬрдм рдореЙрдбрд▓ рдХреЛрдИ рдИрд╡реЗрдВрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдСрдирдСрди рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдИрд╡реЗрдВрдЯрдиреЗрдо рдФрд░ рд╕реВрдЪрдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

  /* Model class initialization*/ ... onOwnEvent: function(eventName, info) { switch(eventName) { case "item-added": //increase items counter //render info.item break; } } ... model.fireEvent("item-added", { item: item }); 


рдШрдЯрдирд╛ рд╕рджрд╕реНрдпрддрд╛

рдореЙрдбрд▓ рдИрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреА рд╕рджрд╕реНрдпрддрд╛ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЙрд╕ рдИрд╡реЗрдВрдЯ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕реЗ рдЖрдк рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдИрд╡реЗрдВрдЯ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рдИрд╡реЗрдВрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рддрд╛рд░рд╛рдВрдХрди * рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ), рддреЛ рдЖрдкрдХрд╛ рд╣реИрдВрдбрд▓рд░ рддрдм рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдХреЛрдИ рднреА рдИрд╡реЗрдВрдЯ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛, рдХреЗрд╡рд▓ рдЙрд╕ рдИрд╡реЗрдВрдЯ рдХреЛ рдЬрдм рдЖрдкрдиреЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИ, рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдХреЙрд▓рдмреИрдХ рдЗрд╡реЗрдВрдЯрдирд╛рдо рдФрд░ рд╕реВрдЪрдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдЬрдм рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  function commonHandler(eventName, info) { switch(eventName) { case "e1": alert("e1 fired"); break; } } function specificHandler(eventName, info) { alert("e1 fired"); } model.subscribe(commonHandler); model.subscribe(specificHandler, "e1"); model.fireEvent("e1"); //info in handlers will be set to undefined 


рдореЙрдбрд▓ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг

рдЖрдорддреМрд░ рдкрд░, рдХрд┐рд╕реА рдЕрдиреНрдп рдореЙрдбрд▓ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореЙрдбрд▓ рдХреА рдШрдЯрдирд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рдВрднрд╡рддрдГ, рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд╕рдордп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреБрдЫ рдЕрдиреНрдп рдбреЗрдЯрд╛, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рдХреНрд▓реЛрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 /* class initialization stuff */ ... processItem: function(item) { var self = this; item.subscribe(function(eventName, info) { self.onItemEvent(eventName, info, item); }); }, onItemEvent: function(item, eventName, info) { ... } 


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдиреНрдпреВрдЯреНрд░рд┐рдиреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

 item.subscribe(this.onItemEvent.bind(this, item)); 


рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрд╛рдЗрдВрдб () рдиреНрдпреВрдЯреНрд░рд┐рдиреЛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рд╡рд┐рдзрд┐ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рд╣реА рдФрд░ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред

рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╕рдордЭ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛:

 var binding = this.onItemEvent.bind(this, 1, 2)); setTimeout(function() { binding(3, 4); //your method onItemEvent will be called with arguments 1, 2, 3, 4. }); 

рдмрд╛рдЗрдВрдб () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдкрд╣рд▓реЗ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрджрд░реНрдн (рдЖрдорддреМрд░ рдкрд░ рдпрд╣) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ (рдП, рдмреА) рдХреА рд╕рдВрдЦреНрдпрд╛ред рдЬрдм рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ (рд╕реА, рдбреА) рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ, рдЕрдВрдд рдореЗрдВ, рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ (рдП, рдмреА, рд╕реА, рдбреА) рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрджреНрдзрддрд┐ рдХреЗ рдХреЙрд▓ рдкрд░ рдЖрдПрдВрдЧреЗред

рдХрд┐рд╕реА рднреА рд░реВрдкрд░реЗрдЦрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

Source: https://habr.com/ru/post/In150944/


All Articles