рдореБрдЭреЗ рдЕрдХреНрд╕рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЗрд╕ рдмрд╛рдд рдХреА рдЧрд▓рддрдлрд╣рдореА рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд╡реИрд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рдЦреБрдж рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛)ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдмрд╣реБ-рдкреНрд░рддрд┐рдорд╛рди рднрд╛рд╖рд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдВрддреНрд░ рд╣реИрдВред рдЗрди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкрд╛рдВрдЪ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдЦрдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ, рд╢реБрд░реБрдЖрддреА рдЖрдорддреМрд░ рдкрд░ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдп рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕реА # рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирднрд┐рдЬреНрдЮрддрд╛ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рддреАрди рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ - рдЗрд╕ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рджреЛ рддрд░реНрдХред
function makeArray(arg1, arg2){ return [ this, arg1, arg2 ]; }
рд╕рдмрд╕реЗ рдЖрдо рддрд░реАрдХрд╛: рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрд▓
рд╢реБрд░реБрдЖрддреА рдЕрдХреНрд╕рд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ:
makeArray('one', 'two');
рдПрдХ рдкрд▓ рд░реБрдХрд┐рдПред
window
рд╡рд╕реНрддреБ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕
this
window
рдмрд░рд╛рдмрд░ рдХреНрдпреЛрдВ рд╣реИ?
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдПрдХ
рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рд╣рдореЗрд╢рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреА рд╣реИред рд╣рдорд╛рд░реА рд▓рд┐рдкрд┐ рдХрд╛ рдХреЛрдИ рднреА рдХреЛрдб рдЬреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП "рд╕рдВрд▓рдЧреНрди" рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдХрд┐ рд╡рд╕реНрддреБ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдерд┐рдд рд╣реИ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
makeArray
рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ рдЬреЛ "рд╕реНрд╡рдпрдВ" рдЪрд▓рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ,
makeArray
рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ (рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ)
window
рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ:
alert( typeof window.methodThatDoesntExist );
рдпрд╣реА рд╣реИ,
makeArray('one', 'two');
рд▓рд┐рдП рдПрдХ рдХреЙрд▓
makeArray('one', 'two');
рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ред
window.makeArray('one', 'two');
ред
рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рджреБрдЦреА рд╣реВрдВ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрд░реНрде рд╣реИред рдФрд░ рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рд░реНрдп рдФрд░ рдЪрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реНрд╡рд░ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИред рд╡реИрд╢реНрд╡рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдмрдЪреЗрдВ рдФрд░ рдЖрдк рдЗрд╕реЗ рдкрдЫрддрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдлрд╝рдВрдХреНрд╢рди рдирдВрдмрд░ 1 рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рдпрдо: рдпрджрд┐ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реАрдзреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, myFunction()
), рддреЛ рдЗрд╕рдХрд╛ рдорд╛рди рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ ( window
рдЕрдЧрд░ рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ) рд╣реЛрдЧрд╛редрд╡рд┐рдзрд┐ рдХреЙрд▓
рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ рдФрд░
makeArray
рдЗрд╕рдХреА рд╡рд┐рдзрд┐
makeArray
ред рд╣рдо рд╢рд╛рдмреНрджрд┐рдХ рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╡рд╕реНрддреБ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЕрдкрдиреА рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВ:
рдЕрдВрддрд░ рджреЗрдЦреЗрдВ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рд╣реА рд╡рд╕реНрддреБ рд╣реИред
window
рдХреНрдпреЛрдВ рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдмрджрд▓реА рдЧрдИ рд╣реИ? рд╕рдВрдкреВрд░реНрдг рд░рд╣рд╕реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреИрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
Function
рдПрдХ рдорд╛рдирдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рддрд░рд╣, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдФрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ рддрд░реНрдХ рд╕реВрдЪреА рдФрд░ рдирд┐рдХрд╛рдп рд╕рд╣рд┐рдд рдкреВрд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ
arrayMaker
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:
var arrayMaker = { someProperty: '- '; make: function (arg1, arg2) { return [ this, arg1, arg2]; } };
рдлрдВрдХреНрд╢рди рд░реВрд▓ # 2: рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, obj.myFunction()
рдпрд╛ obj['myFunction']()
, this
obj
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛редрдЗрд╕ рд╕рд░рд▓ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рдЕрдХреНрд╕рд░ рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ:
<input type="button" value="Button 1" id="btn1" /> <input type="button" value="Button 2" id="btn2" /> <input type="button" value="Button 3" id="btn3" onclick="buttonClicked();" /> <script type="text/javascript"> function buttonClicked(){ var text = (this === window) ? 'window' : this.id; alert( text ); } var button1 = document.getElementById('btn1'); var button2 = document.getElementById('btn2'); button1.onclick = buttonClicked; button2.onclick = function(){ buttonClicked(); }; </script>
рдкрд╣рд▓реЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрджреЗрд╢
"btn1" рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░
this
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдзрд┐ рд╣реИред рджреВрд╕рд░реЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░
"рд╡рд┐рдВрдбреЛ" рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рд╕реАрдзреЗ рдмрдЯрди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛рдиреА
obj.buttonClicked()
) рдХреА рддрд░рд╣ рдирд╣реАрдВред рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╣рдо рддрддреНрд╡ рдЯреИрдЧ рдореЗрдВ рдПрдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рддреАрд╕рд░реЗ рдмрдЯрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред рддреАрд╕рд░реЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рджреВрд╕рд░рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
JQuery рдЬреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред jQuery рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ
this
рдорд╛рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ рддрд╛рдХрд┐
this
рдорд╛рди рдИрд╡реЗрдВрдЯ рдХреЛ рдКрдкрд░ рдЙрдард╛рдиреЗ рд╡рд╛рд▓рд╛ рддрддреНрд╡ рд╣реЛ:
JQuery
this
рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ? рдиреАрдЪреЗ рдкрдврд╝реЗрдВ
рджреЛ рдФрд░ рддрд░реАрдХреЗ: apply()
рдФрд░ call()
рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрддрдирд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдХреНрд╕рд░
this
рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВред
apply()
рдФрд░
call()
рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рд╣реИрдВред рд╡реЗ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ:
var car = { year: 2008, model: 'Dodge Bailout' }; makeArray.apply( car, [ 'one', 'two' ] );
рдпреЗ рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпрд╛рдВ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИрдВред рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓
this
ред рдЙрдирдХреЗ рдмреАрдЪ рдорддрднреЗрдж рдирд┐рдореНрди рддрд░реНрдХреЛрдВ рдореЗрдВ рд╣реИрдВ:
Function.apply()
рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддрд╛ рд╣реИ, рдФрд░
Function.call()
рдЕрд▓рдЧ рд╕реЗ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣
apply()
рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ
apply()
ред
рдлрд╝рдВрдХреНрд╢рди рдирдВрдмрд░ 3 рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рдпрдо: рдпрджрд┐ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк myFunction.apply( obj )
рдпрд╛ myFunction.call( obj )
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕
рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореВрд▓ рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдИ рдХрдХреНрд╖рд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХрд┐рд╕реА рднреА рдХрд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
prototype
рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реАрдХреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЧреБрдг рд╣реИред рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдПрдБ:
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
new
рдСрдкрд░реЗрдЯрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред рдпрджрд┐ рдпрд╣ рдЙрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛, рддреЛ рдпрд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрд▓ рд╣реЛрдЧрд╛, рдФрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдЧреАред рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд░реНрдорд╛рддрд╛ рдЖрдорддреМрд░ рдкрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
new
рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрд┐рдирд╛, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░
undefined
рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рд╡рд╣ рдЗрд╕реЗ рд╡рд╛рдкрд╕
this
ред рдПрдХ рдЕрдЪреНрдЫреА рд╢реИрд▓реА рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХрд╛ рдирд╛рдо рд╣реИ; рдпрд╣ рд╣рдореЗрдВ
new
рдСрдкрд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдиреНрдпрдерд╛, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдХрд╛ рдХреЛрдб рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛрдб рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ рдЬреЛ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рдирдИ рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред
рдлрд╝рдВрдХреНрд╢рди рдирдВрдмрд░ 4 рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рдпрдо: new
рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, this
рдорд╛рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рд╣реЛрдЧреАред рдпрджрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛редрдирд┐рд╖реНрдХрд░реНрд╖
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдХрднреА-рдХрднреА
this
рдХреЗ рдореВрд▓реНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдЙрдирдХреА рдШрдЯрдирд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред