рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдЪрд╛рд░ рдкреИрдЯрд░реНрди

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

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

рдЗрд╕рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдЪрд╛рд░ рддрд░реАрдХреЗ рд╣реИрдВ:



рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди


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

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

рдЪрд╛рд░ рдкреИрдЯрд░реНрди


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░ рдПрдХ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдЪрд╛рд░ рддрд░реАрдХреЗ рд╣реИрдВред

рд╡рд┐рдзрд┐ рдордВрдЧрд▓рд╛рдЪрд░рдг - рд╡рд┐рдзрд┐ рдордВрдЧрд▓рд╛рдЪрд░рдг

рдЬрдм рдХреЛрдИ рдХрд╛рд░реНрдп рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдПрдХ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред "рдореЗрдердб рдХреЙрд▓" рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг:

var obj = {
рдорд╛рди : 0 ,
рд╡реЗрддрди рд╡реГрджреНрдзрд┐ : рдлрд╝рдВрдХреНрд╢рди ( ) {
рдпрд╣ ред рдорд╛рди + = 1 ;
}
} ;

objред рд╡реЗрддрди рд╡реГрджреНрдзрд┐ ( ) ;

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

рдлрдВрдХреНрд╢рди рдЗрдирд╡реЛрдХреЗрд╢рди - рдлрдВрдХреНрд╢рди рдЗрдирд╡реЛрдХреЗрд╢рди

рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдСрдкрд░реЗрдЯрд░ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдЬреЛрдбрд╝реЗрдВ ( 2 , 3 ) ; // 5

рдЗрд╕ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, this рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЛ рдмрд╛рдВрдзрддрд╛ рд╣реИред рдпрд╣ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рднрд╛рд╖рд╛ рдХреА рдЧрд▓рддреА рд╣реИ - рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЗрд╕рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдирд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдпрджрд┐ рдЖрдк рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

var рдорд╛рди = 500 ; // рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░
var obj = {
рдорд╛рди : 0 ,
рд╡реЗрддрди рд╡реГрджреНрдзрд┐ : рдлрд╝рдВрдХреНрд╢рди ( ) {
рдпрд╣ ред рдорд╛рди ++;

var рдЗрдирд░рдлрд╝рдВрдХреНрд╢рди = рдлрд╝рдВрдХреНрд╢рди ( ) {
рдЪреЗрддрд╛рд╡рдиреА ( рдпрд╣ рдорд╛рди ) ;
}

рдЗрдиреНрдЯрд░рдлреЗрдХреНрд╢рди ( ) ; // рдлрдВрдХреНрд╢рди рдЗрдирд╡реЛрдХреЗрд╢рди рдкреИрдЯрд░реНрди
}
}
objред рд╡реЗрддрди рд╡реГрджреНрдзрд┐ ( ) ; // рд╡рд┐рдзрд┐ рдордВрдЧрд▓рд╛рдЪрд░рдг рдкреИрдЯрд░реНрди

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдпрджрд┐ рдЖрдк рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ 1 - рдЖрдк рдЧрд▓рдд рд╣реИрдВ (рд▓реЗрдХрд┐рди рдЦреБрдж рдХреЛ рджреЛрд╖ рди рджреЗрдВ - рдХреБрдЯрд┐рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рджреЛрд╖ рджреЗрдВ)ред рд╕рд╣реА рдЙрддреНрддрд░ 500 рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ innerFunction рдХреЛ рдкреВрд░реНрд╡реЛрдХреНрдд "рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓" рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП this рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред рдирддреАрдЬрддрди, рд╣рдо 500 рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк this рдЪрд░ рдХреЛ рдмрдирд╛рдХрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рд╣реИрдХ рд╣реИред

var рдорд╛рди = 500 ; // рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░
var obj = {
рдорд╛рди : 0 ,
рд╡реЗрддрди рд╡реГрджреНрдзрд┐ : рдлрд╝рдВрдХреНрд╢рди ( ) {
var рд╡рд╣ = рдпрд╣ ;
рдХрд┐ред рдорд╛рди ++;

var рдЗрдирд░рдлрд╝рдВрдХреНрд╢рди = рдлрд╝рдВрдХреНрд╢рди ( ) {
рд╕рддрд░реНрдХ ( рдХрд┐ рдореВрд▓реНрдп ) ;
}

рдЗрдиреНрдЯрд░рдлреЗрдХреНрд╢рди ( ) ; // рдлрдВрдХреНрд╢рди рдЗрдирд╡реЛрдХреЗрд╢рди рдкреИрдЯрд░реНрди
}
}
objред рд╡реЗрддрди рд╡реГрджреНрдзрд┐ ( ) ;

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо this рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп this рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдирд╡реЛрдХреЗрд╢рди - рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдирд╡реЛрдХреЗрд╢рди

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

рдХреНрд▓рд╛рд╕рд┐рдХ OOP рдореЗрдВ, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред C ++ рдФрд░ Java рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП new рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬреЗрдПрд╕ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдкреАрдЫреЗ рдирд╣реАрдВ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ "рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЙрд▓" рдкреИрдЯрд░реНрди рдореЗрдВ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ ...

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, new рдСрдкрд░реЗрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

var рдЪреАрдЬрд╝ = рдлрд╝рдВрдХреНрд╢рди ( рдкреНрд░рдХрд╛рд░ ) {
рдкрдиреАрд░ рдЯрд╛рдЗрдк = рдкреНрд░рдХрд╛рд░ ;
рд╡рд╛рдкрд╕реА рдкрдиреАрд░ ;
}

cheddar = рдирдпрд╛ рдЪреАрдЬрд╝ ( "cheddar" ) ; // рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдПрдХ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ Cheese рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡рд╕реНрддреБ рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЛ рдкрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ), рд╣рдордиреЗ рдирдП рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рдИред this рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдирдП рдмрдирд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ return рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рд╡рд╛рдкрд╕реА рдХреА рдмрд╛рдд рдХрд╣реАред "рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЙрд▓" рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:


var obj = {
рдбреЗрдЯрд╛ : "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб"
}

var Func1 = function ( ) {
рд╡рд╛рдкрд╕реА obj ;
}

var Func2 = function ( ) {
рд╡рд╛рдкрд╕реА "рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рдХрд╛рд░ рд╣реВрдБ" ;
}

var f1 = new Func1 ( ) ; // f1 рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ
var f2 = new Func2 ( ) ; // f2 рдХреЛ рдирдИ рд╡рд╕реНрддреБ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ

рд╣рдо рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдПрдХ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ: рдЗрд╕ рдкреИрдЯрд░реНрди рд╕реЗ рдЬреБрдбрд╝реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рднрд╛рд╖рд╛ рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ - рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдПрдХ рдордирдорд╛рдиреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг ( рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг - Engред )ред рдпрд╣ рдкреИрдЯрд░реНрди рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдбрдЧрд▓рд╕ рдХреНрд░реЙрдлреЛрд░реНрдб рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛: рдЖрдк рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1.8.5 рдХреЗ рдмрд╛рдж рд╕реЗ, Object.create рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдХрд░рдг рд╣реИред

рдХреЙрд▓ рдЕрдкреНрд▓рд╛рдИ рдФрд░ рдХреЙрд▓ - рдЕрдкреНрд▓рд╛рдИ рдПрдВрдб рдХреЙрд▓ рдЗрдирд╡реЛрдХреЗрд╢рди

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

рдпрд╣ рдкреИрдЯрд░реНрди рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: рдкрд╣рд▓рд╛ рд╡рд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде this рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╕рд░рдгреА рд╣реИ:

var add = function ( num1 , num2 ) {
рд╡рд╛рдкрд╕реА num1 + num2 ;
}

рд╕рд░рдгреА = [ 3 , 4 ] ;
рдЬреЛрдбрд╝реЗрдВред рд▓рд╛рдЧреВ ( рдЕрд╢рдХреНрдд , рд╕рд░рдгреА ) ; // 7

рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, this null (рдлрд╝рдВрдХреНрд╢рди рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ) рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд░рдгреА num1 рдФрд░ num2 рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ:

var obj = {
рдбреЗрдЯрд╛ : 'рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб'
}

var displayData = function ( ) {
рд╕рддрд░реНрдХ ( рдпрд╣ рдбреЗрдЯрд╛ ) ;
}

рдкреНрд░рджрд░реНрд╢рди ( ) ; // рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд
displayDataред рд▓рд╛рдЧреВ ( obj ) ; // рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ this obj apply рд▓рд┐рдП рдмрд╛рдзреНрдп apply рд▓рд┐рдП apply рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдЗрд╕. this.data рдХрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдирд┐рд╣рд┐рдд рд╣реИред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдПрдХ call рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рднреА рд╣реИ, рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП apply рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдмреЗрд╣рддрд░ рдпрд╛ рдмрджрддрд░ рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрдирд┐рдпрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдЬрд┐рдиреНрд╣реЗрдВ рдмрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдкреИрдЯрд░реНрди рд╕рдордЭрдирд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд┐рдХреНрд╖рд╛рд░реНрдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧреАред

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


All Articles