
рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ,
TheShock рдФрд░
рдореИрдВрдиреЗ рдПрдХ
рд╡рд┐рд╖рдп рдмрдирд╛рдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд╣рдордиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдлреНрд░реЗрдорд╡рд░реНрдХ, рд╕рдорд╕реНрдпрд╛рдУрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдПрдХрддреНрд░ рдХрд┐рдП рдереЗред рдЙрдиреНрд╣реЗрдВ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╣рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢реНрди рдорд┐рд▓реЗ, рджреЛрдиреЛрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдФрд░ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ред рдЙрддреНрддрд░реЛрдВ рдХрд╛ рдпрд╣ рдкрд╣рд▓рд╛ рднрд╛рдЧ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдкреНрд░рд╢реНрди рд╣реИрдВред
1. рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рддред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдореБрдЭреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЙрдбрд▓ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореИрдВ "рд╢рд╛рд╕реНрддреНрд░реАрдп" рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реВрдВ :) рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬреЗрдПрд╕ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдХреГрдкрдпрд╛, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦреЗрдВ рдЬрд╣рд╛рдВ, рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ, "рдХрдХреНрд╖рд╛рдПрдВ" рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ, рддрд░реАрдХреЛрдВ рдФрд░ рдЪрд░ рдХреА рджреГрд╢реНрдпрддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓реЗрдЦ рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЬреЗрдПрд╕ рдореЗрдВ рджреГрд╢реНрдпрддрд╛ рд╕реНрддрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ "рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ" рд╣реИред
рдЙрддреНрддрд░ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рдмрдирд╛рдпрд╛:
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рдФрд░ рдЧрд▓рдд рдзрд╛рд░рдгрд╛рдПрдВ2. рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдореЙрдбрд▓ рдХреМрди рд╕рд╛ рд╣реИ?
рдпрджрд┐ рдирдпрд╛ рд╣реИ, рддреЛ рдЖрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ:
1. рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдореИрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрддрд╛ рд╣реВрдВ;
2. рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ FunctionName (рдореИрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдмрдЪрддрд╛ рд╣реВрдВред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдмрдЪреЗрдВ)
3. рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди, рд▓реЗрдХрд┐рди рдореИрдВ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдирд╛рдо рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдФрд░ рдмрд╛рд╣рд░ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ред
рдирдП рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░, рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рдФрд░ рд╡реИрдЪрд╛рд░рд┐рдХред рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЛ рдкреВрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдХрдВрд╡реЗрдВрд╢рдиреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдЪреЗрдХ рдирд╣реАрдВ рдХрд░рддрд╛ - рдореИрдВрдиреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдирдП рдХреЗ рдмрд┐рдирд╛ рдмреБрд▓рд╛рдпрд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЧреНрд▓реЛрдмрд▓реНрд╕ рдХреЛ рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдЦреБрдж рдХреЛ рдореВрд░реНрдЦ рдмрдирд╛рдирд╛ред" рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдирдП рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ - рдХреБрдЫ рд▓реЛрдЧ рдпрд╣ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдирдП рдХреЗ рдмрд┐рдирд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдХрд░ рд╡рд╛рдкрд╕ рдХрд░ рджреА - рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдФрд░ рдПрдХ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рд╡рд╛рд▓рд╛ рдЧрд▓рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред
var Obj = function () { "use strict"; this.pew = 100; };
рдирдпрд╛ рдХрд╛рд░рдЦрд╛рдирд╛ рд╡рд┐рдзрд┐рдпреЛрдВ, рдФрд░ рдЫреЛрдЯреЗ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ - jQuery
рдореИрдВ рдХреЛрдб рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реВрдВ:
3. рдЬреЗрдПрд╕ рдкрд░ рдХрд┐рд╕ рдорд╛рдЙрд╕ рдХрд╛ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рдП, рдЗрд╕рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХреИрд╕реЗ рдХрд░реЗрдВ?
mousedown mouseup
рдИрд╡реЗрдВрдЯ
mousedown mouseup
рд╕рднреА рдорд╛рдЙрд╕ рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
click
- рдХреЗрд╡рд▓ рдмрд╛рдИрдВ рдУрд░ред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдпрд╣
event.button
рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдИрд╡реЗрдВрдЯ рдХреЗ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред
(реж - рд╡рд╛рдо, рез - рдордзреНрдп, реи - рдЕрдзрд┐рдХрд╛рд░)ред IE8 рдореЗрдВ - рд╕рдм рдХреБрдЫ рдЧрд▓рдд рд╣реИ, рдХреЛрдб рджреЗрдЦреЗрдВ:
var button = document.getElementById('button'),
jQuery рдЗрд╕ IE рджреЛрд╖ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рдпрд╣
event.which
рд╕рд╛рде рдЬрд╛рджреВ рдХреЗ рдмрдЬрд╛рдп
event.which
рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ
$('button').mousedown(function (event) { alert(['Left', 'Middle', 'Right'][event.which]); });
рдЙрджрд╛рд╣рд░рдг:
jsfiddle.net/azproduction/W2XgHрдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:
www.quirksmode.org/js/events_properties.html рдкреИрд░рд╛рдЧреНрд░рд╛рдл "рдХрд┐рд╕ рдорд╛рдЙрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?"
jQuery event.which:
api.jquery.com/event.which4. рдХреНрдпрд╛ рдХреАрдмреЛрд░реНрдб рдХреАрд╕реНрдЯреНрд░реЛрдХ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд░реЛрдХрдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдХреНрдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреАрдмреЛрд░реНрдб рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ (рдбрд╛рдЙрди, рдЕрдк рдПрд░реЛ) рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЦрд┐рдбрд╝рдХреА рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рди рдХрд░реЗ? рдХреНрдпрд╛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ рдЬреЛ рд╕рдВрдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдкрд░ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рдХреАрдмреЛрд░реНрдб рдХреЗ рддреАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреГрд╖реНрда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рди рдХрд░реЗред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрдерд╛рдХрдерд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд░рджреНрдж рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдбрд╛рдЙрди рдПрд░реЛ рдФрд░ рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рдЦрд┐рдбрд╝рдХреА рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рд░рд╛рдЗрдЯ рдорд╛рдЙрд╕ рдмрдЯрди рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд▓рд╛рддрд╛ рд╣реИ,
form.submit()
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sumbit рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
form.submit()
, рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВрдЧреЗ рддреЛ рдЗрд╕реЗ рдлреЛрдХрд╕ рдорд┐рд▓реЗрдЧрд╛, рдЬрдм рдЖрдк рдХреНрд▓рд┐рдХ рдХрд░реЗрдВрдЧреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд┐рдВрдХ рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдВрдХрд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдЧрд╛ред
JQuery рдХрд╛ рдкреНрд░рдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ
preventDefault()
рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╣рдо рдЗрдирдкреБрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддрдм рд╣рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдореЗрдВ рддрдм рддрдХ рд▓рдЯрдХрд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рдореВрд╕рдбрд╛рдЙрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред
$('input').bind('mousedown', function (event) { event.preventDefault();
рдШрдЯрдирд╛рдУрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
1. рдореВрд╕рдбрд╛рдЙрди
2. рдлреЛрдХрд╕ (рдлреЛрдХрд╕ рд╕реЗ рдкрд╣рд▓реЗ, рдзрдмреНрдмрд╛ рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛)
3. рдореВрд╖рдХ
4. рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдпрджрд┐ рд╣рдо рдИрд╡реЗрдВрдЯ рдХреЛ рдлрд╝реЛрдХрд╕ рдкрд░ рдФрд░ рдиреАрдЪреЗ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред defaultAction рдореВрд╕рдбрд╛рдЙрди рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
5. рдИрдПрд╕рд╕реА рджрдмрд╛рддреЗ рд╕рдордп рдЬрд┐рдл-рдПрдиреАрдореЗрд╢рди рдХреЛ рд░реЛрдХрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЕрдЧрд░ рдпрд╣ рдХреБрдВрдЬреА рдмрд╛рдБрдз рд░рд╣реА рд╣реИ?
рдКрдкрд░ рдЙрддреНрддрд░ рджреЗрдЦреЗрдВред рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдЬрдм рдЖрдк Esc рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЬрд┐рдл рдПрдиреАрдореЗрд╢рди рдмрдВрдж рдХрд░реЗрдВ, рдкреЗрдЬ рд▓реЛрдб рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ - рдпрд╣ рдЙрдирдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред
рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХреНрд╢рди
event.preventDefault()
рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
event.preventDefault()
:
$(document).bind($.browser.webkit ? 'keydown' : 'keypress', function (event) {
6. рдФрд░ рдСрдкрд░реЗрдЯрд░ () рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреНрд▓реЛрдЬрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛?
рдХреЛрд╖реНрдардХ рдкрд╛рд░реНрд╕рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рдж рдХреЛрд╖реНрдардХ рдХреНрдпрд╛ рд╣реИрдВ: рдПрдХ рд╕рдореВрд╣рди рдпрд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдСрдкрд░реЗрдЯрд░ред
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд░рддреЗ рд╣реИрдВ:
function () {
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕рдПрд░реЛрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (рдПрдХ рдШреЛрд╖рдгрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рдпрджрд┐ рдЖрдк рдПрдХ рдирд╛рдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
function foo() {
рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд╛рдо рд╕реЗрдЯ (рдлреВ) рд╣реИ, рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рдареАрдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕рдореВрд╣реАрдХрд░рдг рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рдореВрд╣ рдСрдкрд░реЗрдЯрд░ рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛрд╖реНрдардХ рдирд╣реАрдВ!
ParseError рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ - рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд░рдЦреЗрдВ рдЕрд░реНрдерд╛рддреНред рдкрд╛рд░реНрд╕рд░ рдХреЛ рджрд┐рдЦрд╛рдПрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ:
рдж
рд╢реЙрдХ рд╕реЗ :
!function () {
рдпрд╣ incl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред jQuery рдореЗрдВред рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рд╕реНрдХреЛрдк рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рднреА рдХреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЖрдВрддрд░рд┐рдХ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЧреНрд▓реЛрдмрд▓ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдорд┐рдиреАрдлрд╛рдпрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмреЗрд╣рддрд░ рд╕рдВрдХреБрдЪрд┐рдд рд╣реИред habrahabr.ru/blogs/jquery/118564
рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░
dsCode рд╕реВрдХреНрд╖реНрдорддрд╛ ECMA-262-3ред рднрд╛рдЧ 5. рдХрд╛рд░реНрдпред - рд╕рд╡рд╛рд▓ "рдХреЛрд╖реНрдардХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ"рдФрд░ рдкрдврд╝реЗрдВ :
kangax.github.com/nfe7. XHR рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рдг рдХреЛрдб
рдЕрдЬрд╛рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ "рдЕрд▓рд░реНрдЯ ('рдмреВрдо !!!')" рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ eval () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд╛ рдирд╛рдо рдХреНрдпрд╛ рд╣реИ? рдпрд╣ JSON рдирд╣реАрдВ рд╣реИ, XML рдирд╣реАрдВ рд╣реИ, HTML рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХрд╛ рдХреЛрдИ рдирд╛рдо рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдмреБрд░рд╛ рддрд░реАрдХрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ PHP рдХреЛрдб рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдмреБрд░рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рд░ рдмрд╛рд░ рдЦрд╛рд▓реА рдХрд░рдирд╛ рд╣реИред рд╕рд╢рд░реНрдд рдЧреИрд░-рдЧреЛрдкрдиреАрдпрддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдордЬрдмреВрдд рд╕рд╛рдордВрдЬрд╕реНрдп рд░рдЦрддреА рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдирд┐рдХрд▓рддрд╛ рд╣реИ: рдбреЗрдЯрд╛ + рдХреЛрдб + рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдореЙрдбрд▓ рдореЗрдВ, рдХреБрдЫ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕ рдЙрд▓рдЭрди рдХреЛ рд╕реБрд▓рдЭрд╛рдирд╛ рд╣реЛрдЧрд╛, рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХрдИ рдХрдиреЗрдХреНрд╢рди рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд╡рд╛рдкрд╕ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдЧрдбрд╝рдмрдбрд╝ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдлрд╛рдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ...
рдХреЛрдб рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдирд╛ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ (рдирд┐рд░реНрднрд░рддрд╛) рдХреЛ рдХрдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдХ рдХрдордЬреЛрд░ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬрдм рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдлрд╛рдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдШрдЯрдирд╛рдУрдВ рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдорд╡реАрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрдврд╝реЗрдВ:
рдФрд░ рдлрд┐рд░ рд╕реЗ рдПрдорд╡реАрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВрдПрдХ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЗрд╡реЗрдВрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдореЙрдбрд▓ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧBackbone.js рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд┐рдЦрдирд╛8. рдкреВрд░реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рдЯрдХрд╛рдП рдмрд┐рдирд╛ рджреЗрд░реА рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдХрддрд╛рд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП?
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдзрд╛рдЧрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рдЦреБрдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, DOM рдЯреНрд░реА рд░рд┐рдбреНрд░рд╛реЕрди рд╣реЛрддрд╛ рд╣реИ, рдЯрд╛рдЗрдорд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕рдВрдЪрд╛рд▓рди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ (рдЪрдХреНрд░, рднрд╛рд░реА рдХрд╛рд░реНрдп) рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдмрд╛рддрдЪреАрдд рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИ (рдпрджрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рднрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ)ред рдпреВрдЖрдИ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдереНрд░рд╕реНрдЯ рдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡реЗрдм рд╡рд░реНрдХрд░реНрд╕ рдереНрд░реЗрдбреНрд╕ рдХреА рд╢реБрд░реБрдЖрдд рдХреАред
рдпрджрд┐ рд╢реНрд░рдорд┐рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЪрдХреНрд░ рдФрд░ рднрд╛рд░реА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдХреЛрд▓рд╕ рд╕реАред рдЬрд╝рдХрд╕ рдиреЗ рдЕрдкрдиреА рдкреБрд╕реНрддрдХ рдУрд░реАрд▓реА рд╣рд╛рдИ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ: рдпрджрд┐ рдпреВрдЖрдИ рдереНрд░реАрдб рдХреЛ 100 рдПрдордПрд╕ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реИрдЧреНрд╕ рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╛рдиреА рд╣рдо 100 рдПрдордПрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдпрд╣ рдпреВрдЖрдИ рдереНрд░рд╕реНрдЯ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реИрдЧреНрд╕ рдХреЛ рдиреЛрдЯрд┐рд╕ рди рдХрд░реЗред
рдпрд╣рд╛рдБ рдореВрд▓ рдХреЛрдб рдЕрдкрдиреА рдкреБрд╕реНрддрдХ рд╕реЗ рд╕рднреА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ:
function timedProcessArray(items, process, callback) { var todo = items.concat();
timedProcessArray
рдлрд╝рдВрдХреНрд╢рди рдпреВрдЖрдИ
timedProcessArray
рдХреЛ 25 рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХрд░рддрд╛ рд╣реИ, рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдпреВрдЖрдИ рдереНрд░рд╕реНрдЯ рдХреЛ 25 рдПрдордПрд╕ рдФрд░ рдЗрддрдиреЗ рдкрд░ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред
рдкрдврд╝реЗрдВ:
рдирд┐рдХреЛрд▓рд╕ рд╕реАред рдЬрд╝рдХрд╕ - рдУрд░реЗрд▓реА рд╣рд╛рдИ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдХреЙрдорд┐рдХреНрд╕ рд╡реЗрдм рд╡рд░реНрдХрд░реНрд╕рд╡реЗрдм рд╡рд░реНрдХрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдХрд▓рд┐рдд рдХрд░рдирд╛WXHR: рд╕реНрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдкреБрд░рд╛рдирд╛ XHR9. рдХреНрдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ?
рдРрд╕реА рдХреЛрдИ рдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЦрд┐рдбрд╝рдХреА рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛, рдЬреЛ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдСрдирд░рд╕рд╛рдЗрдЬ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ
рдХреЛрдб рд╕реНрдХреЗрдЪ:
var time = 0, timerId, TIME_ADMISSION = 100;
рд▓рд╛рдЗрд╡ рдЙрджрд╛рд╣рд░рдг:
jsfiddle.net/azproduction/2Yt6T10. рдирдИ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП window.open () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдЯреИрдм рдирд╣реАрдВ?
рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдУрдкреЗрд░рд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рдЯреИрдм рдЦреЛрд▓рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ), рд╕рдлрд╛рд░реА рд╣рдореЗрд╢рд╛ рдПрдХ рдЦрд┐рдбрд╝рдХреА рдЦреЛрд▓рддрд╛ рд╣реИ (рд╕рдлрд╛рд░реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред Chrome, FF рдФрд░ IE рдирд┐рдпрдВрддреНрд░рдгреАрдп рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ - рд╡рд┐рдВрдбреЛ рдХреА рд╕реНрдерд┐рддрд┐, рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреБрд▓ рдЬрд╛рдПрдЧреА:
window.open('http://www.google.com', '_blank', 'toolbar=0,location=0,menubar=0');
рдпрджрд┐ рдЖрдк рдХреБрдЫ рднреА рд╕рдВрдЪрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреИрдм рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛:
window.open('http://www.google.com');
рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдЯреИрдм рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рдлрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ (рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рдЬрдм рднреА window.open рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рд╕рдлрд╛рд░реА рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк
Ctrl+Shift/Meta+Shift
рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ
Ctrl+Shift/Meta+Shift
рд╣рдореЗрд╢рд╛ рдПрдХ рдирдпрд╛ рдЯреИрдм рдЦреЛрд▓рддрд╛ рд╣реИ (рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛)ред рдирдпрд╛ рдЯреИрдм рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
Ctrl+Shift/Meta+Shift
рд╣реБрдП "рдХреНрд▓рд┐рдХ" рдИрд╡реЗрдВрдЯ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВрдЧреЗ:
function safariOpenWindowInNewTab(href) { var event = document.createEvent('MouseEvents'), mac = (navigator.userAgent.indexOf('Macintosh') >= 0);
11. рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЧрд╣рд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП?
рдпрджрд┐ рдкреБрд░рд╛рдирд╛ рдСрдмрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛрдЧрд╛ (рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реЛрдЧрд╛):
function object(o) { function F() {} F.prototype = o; return new F(); } var newObject = object(oldObject);
рдпрджрд┐ рдЖрдкрдХреЛ рдИрдорд╛рдирджрд╛рд░ рдХреНрд▓реЛрдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдирд╛ рд╣реЛрдЧрд╛ + рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ (рдпрд╣ рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬ рдИрдорд╛рдирджрд╛рд░ рдХреНрд▓реЛрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИ):
var cloner = { _clone: function _clone(obj) { if (obj instanceof Array) { var out = []; for (var i = 0, len = obj.length; i < len; i++) { var value = obj[i]; out[i] = (value !== null && typeof value === "object") ? _clone(value) : value; } } else { var out = {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { var value = obj[key]; out[key] = (value !== null && typeof value === "object") ? _clone(value) : value; } } } return out; }, clone: function(it) { return this._clone({ it: it }).it; } }; var newObject = cloner.clone(oldObject);
JQuery рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдкрдврд╝реЗрдВ:
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдИрдорд╛рдирджрд╛рд░ рдХреНрд▓реЛрдирд┐рдВрдЧ рддрдХрдиреАрдХрд╕реНрдЯреИрдХрдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рд╡рд┐рд╖рдп рдХреА рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреА рдЪрд░реНрдЪрд╛12. рдЕрдиреБрд░реВрдк рд╡рд┐рдзреНрд╡рдВрд╕рдХ / рдлрд╛рдЗрдирд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ? рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ?
JavaScript рдореЗрдВ, рдЬрдм рд╡рд╣ рдЕрдВрддрд┐рдо рд▓рд┐рдВрдХ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
var a = {z: 'z'}; var b = a; var c = a; delete az; delete a;
рдпрд╛рдиреА "рд╡рд┐рдзреНрд╡рдВрд╕рдХ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрдк рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╛рдл рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
13. рдХреНрдпрд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреИрд╕реЗ?
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рд╕рднреА рдирдВрдмрд░реЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИрдВред рдмрд╛рдЗрдирд░реА рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ
рдмрд╛рдЗрдирд░реАрдкрд░реНрд╕рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ : рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, рдбрд┐рдХреЛрдбрд┐рдВрдЧ (рдЗрд╕рдХрд╛ рдХреЛрдб рдирд░рдХ рд╣реИ!)
ECMAScript 6+ (рд╕реНрдЯреНрд░реЛрдореИрди) рдХрд╛ рдПрдХ рдорд╕реМрджрд╛ рд╣реИ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЯрд╛рдЗрдк (рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП C ++ рдФрд░ рдЕрдиреНрдп рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдПрдХ рд╕рдВрд░рдЪрдирд╛ рд╣реИ)ред рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
const Point2D = new StructType({ x: uint32, y: uint32 }); const Color = new StructType({ r: uint8, g: uint8, b: uint8 }); const Pixel = new StructType({ point: Point2D, color: Color }); const Triangle = new ArrayType(Pixel, 3); let t = new Triangle([{ point: { x: 0, y: 0 }, color: { r: 255, g: 255, b: 255 } }, { point: { x: 5, y: 5 }, color: { r: 128, g: 0, b: 0 } }, { point: { x: 10, y: 0 }, color: { r: 0, g: 0, b: 128 } }]);
donnerjack13589 ArtemS рдЖрдк рдмрдлрд╝рд░реНрд╕ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдмрд╛рдЗрдирд░реА рдирдВрдмрд░ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
XMLHttpRequest Level 2 рдЖрдкрдХреЛ рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓реЗрдВ рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
14. рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдЪрд░ рдХреИрд╕реЗ рдмрджрд▓реЗрдВ?
1. рдЖрдк smth рдореЗрдВ рдкреНрд░рд╛рдЗрдорд░ рд╕рдВрджрд░реНрдн рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
2. рдкреНрд░рд╛рдЗрдорд░ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрддреНрдкрдиреНрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрдорде рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ
var primer = function (){ var a, b, c, d, e = {}; smth(function () { a = 1; b = 2; c = 3; d = 4; }, e); alert([a, b, c, d, e.pewpew]); }, smth = function (callback, e) { callback(); e.pewpew = "pewpew"; }; primer();
3. рдкрд╣рд▓реЗ (FireFox 3.6-) __parent__ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджрд░реНрдн рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 4 рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рдЯ рджреА рдЧрдИ рдереАред
15. рд▓реЗрдЦ "рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкрд╛рдВрдЪ рддрд░реАрдХреЗ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреМрди рд╕реА N рд╡рд┐рдзрд┐рдпрд╛рдВ (рд╢реАрд░реНрд╖рдХ 5 рдореЗрдВ, рд▓реЗрдЦ 4 рдореЗрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХрдИ) рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдХрдм рдЖрд╡реЗрджрди рдХрд░реЗрдВ рдФрд░ рдХреНрдпреЛрдВ?
рдореИрдВ рдЧреНрд▓реЛрдмрд▓ рдХреЙрд▓ / рдореЗрдердб рдХреЙрд▓ рдФрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдЙрдирдХрд╛ рджрд╛рдпрд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдореИрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдкрд░ рдЕрд▓рдЧ рд╕реЗ рд░рд╣реВрдВрдЧрд╛ред рд╡реЗ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рд╡реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВред
1. рдирд┐рд░реНрдорд╛рддрд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдФрд░ рдЖрд╡реЗрджрди рдХрд░реЗрдВ:
2. рдПрдХ рд╕реВрдЪреА рдореЗрдВ NodeList рдФрд░ рдЕрдиреНрдп рд╕рд░рдгреА-рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛, рдПрдХ рд▓рд╛рдЗрд╡ рд╕реВрдЪреА (getElementsByTagName) рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓рдирд╛ред
3. рд░реИрдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Function.call.apply рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдХреНрд╕:
рд╣рдореЗрдВ рдПрдХ рд░реИрдкрд░ рдлреВ () рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╛рд░ () рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рддрд╛ рд╣реИ
рд╕рдВрдХрд░ рд╕реЗрдЕрдкрдиреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
function bar() {}
рдЗрд╕ рд╕рд▓рд╛рдж рдХреЗ рдмрдЬрд╛рдп call.apply рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
function foo() { Function.call.apply(bar, arguments); }
рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: aplly рдХреЙрд▓ рдлрдВрдХреНрд╢рди.рдСрд▓ рдХреЛ рдмрд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ foo рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХреЗ рд╕рд╛рдеред рдпрд╣реА рд╣реИ, рд╣рдо рд╕рдВрджрд░реНрдн рдФрд░ arg1, arg2 рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
bar.call(context, arg1, arg2)
4.
рдмрдВрдзрди рдЕрдиреБрдХрд░рдг
16. рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП?
рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВред рдкрд╣рд▓реЗ (FireFox 3.6-), __parent__ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджрд░реНрдн рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 4 рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рдЯ рджреА рдЧрдИ рдереАред
17. рдХрд┐рд╕реА рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЛ рдЙрд╕рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд┐рдирд╛, рдирд┐рд╖реНрдХрд╛рд╕рди рдХреЗ рдмрд┐рдирд╛ рдФрд░ 'рд╕рдЦреНрдд рдЙрдкрдпреЛрдЧ' рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?
рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдПрдХ рд╢рд░реНрдд рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдпрд╛ рдХреЗрд╡рд▓ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
18. рдХреНрдпрд╛ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдЯрдирд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд╛рдж рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ?
рдИрд╡реЗрдВрдЯ рдХреЛрдИ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдШрдЯрдирд╛ рд╡рд┐рд╡рд░рдгрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рд▓рд┐рдВрдХ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:
$('#smth').click(function onSmthClick(event){ if (smth) {
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА рднреА рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ рдФрд░ рддрд░реНрдХ рдмрд╣реБрдд рднреНрд░рд╛рдордХ рд╣реИред
рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВрдбрд▓рд░ рдХреЛ 2 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
$('#smth').click(function handler1(event) { if (smth) {
19. рдФрд░ рдЖрдкрдиреЗ рдЕрдкрдиреА рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХ js рдкрд░ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рд╕реЛрдЪрд╛? рдореБрдЭреЗ рдмрддрд╛рдУ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдХрд╣рд╛рдБ рд╕реАрдЦрдирд╛ рд╣реИ? рдХрд┐рддрд╛рдмреЗрдВ, рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓?
рдХрдИ рд╕рд╛рдЗрдЯреЗрдВ рдФрд░ рдХрдИ рдХрд┐рддрд╛рдмреЗрдВ рд╣реИрдВ , рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛
рд░реВрд╕реА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
20. рдЬреЗрдПрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЗ рдкреЗрдЬ рдкрд░ рд╕рднреА рдХреНрд▓рд┐рдХ рдХреЛ рдХреИрд╕реЗ рд░реЛрдХреЗрдВ? рдпрд╛рдиреА рд╕рд┐рдВрдЧрд▓ рдХреНрд▓рд┐рдХ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдУ
DOM рдЯреНрд░реА рдореЗрдВ рд╕рдмрд╕реЗ рдирд┐рдЪрд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд▓рдЯрдХрд╛ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддрддреНрд╡реЛрдВ рдкрд░ рд╕рднреА рдХреНрд▓рд┐рдХ "рдкреЙрдк рдЕрдк" рдХрд░реЗрдВрдЧреЗ (рдпрджрд┐
рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреБрд▓рд┐рд╕ рд╕рдбрд╝рдХ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдордирд╛ рдХрд░рддреА рд╣реИ)ред
21. рдмрд┐рдирд╛ jQuery рдХреЗ XHR рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ?
рдиреЙрди рдХреНрд░реЙрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝рдВрдХреНрд╢рди:
function xhr(m,u,c,x){with(new XMLHttpRequest)onreadystatechange=function(x){readyState^4||c(x.target)},open(m,u),send()}
рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдереЛрдбрд╝рд╛ рд▓рдВрдмрд╛:
function xhr(m,u,c,x){with(new(this.XMLHttpRequest||ActiveXObject)("Microsoft.XMLHTTP"))onreadystatechange=function(x){readyState^4||c(x)},open(m,u),send()}
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
xhr('get', '//ya.ru/favicon.ico', function(xhr){console.dir(xhr)});
22. рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХреЛрдВ рдореЗрдВ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд░реНрдгрди рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП XUL рдореЗрдВ, рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдХрдо рдкреНрд░рд▓реЗрдЦрди рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реЛред
рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣реИрдмреЗ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдЦреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ:
HTML5 рдлрд╝рд╛рдЗрд▓ API: рд╕рд░реНрд╡рд░ рдкрд░ рдХрдИ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рд╣реЛрддреА рд╣реИрд╡рд░реАрдпрддрд╛рдУрдВ рдФрд░ рдирд░реНрддрдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде HTML5 рдлрд╝рд╛рдЗрд▓ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдлрд╝рд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рдПрдкреАрдЖрдИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдПрдкреАрдЖрдИ: рд╕рдордЭреЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЫрд╡рд┐ рдЕрдкрд▓реЛрдбрд░!Node.js рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИред Node.js рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ
рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛XUL рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣рд╛рдБ
MDC File_I / O рд▓реЗрдЦ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
23. рдкреБрди: рдкреНрд░рд╡рд╛рд╣, рджрдорди рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗред
1. рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░
requestAnimationFrame
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реЗрдЯ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
requestAnimationFrame
setInterval/setTimeout
рдмреНрд░рд╛рдЙрдЬрд╝рд░реНрд╕ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдирд┐рдореЗрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд░рд┐рдлреНрд▓реЛ рдФрд░ рд░реЗрдкреЗрдВрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдиреАрдореЗрд╢рди рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдирд┐рдореЗрд╢рди рд╕реАрдПрд╕рдПрд╕ рд╕рдВрдХреНрд░рдордг рдпрд╛ рдПрд╕рд╡реАрдЬреА рдПрд╕рдПрдордЖрдИрдПрд▓ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдПрдиреАрдореЗрд╢рди рдПрдХ рдЯреИрдм рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрджреГрд╢реНрдп рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдирд╣реАрдВ рд░рд╣реЗрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ, рдореЗрдореЛрд░реА рдХрд╛ рдХрдо рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдмреИрдЯрд░реА рдХреА рдЦрдкрдд рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред
2. рдлреНрд▓реЛрдЯ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдмрдЪреЗрдВ (рд░рд┐рдлреНрд▓реЛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛)
4. DOM рдЯреНрд░реА рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдХрдо рд╕реЗ рдХрдо рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ - рдореЗрдореЛрд░реА рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ DOM 1 рдореЗрдВ рдбрд╛рд▓реЗрдВ (рд░рд┐рдлреНрд▓реЛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛)
5. рдПрдХ рдмрдВрдбрд▓ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрджрд▓реЗрдВ (Reflow, redraw рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛) (рдпрд╣ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдЪ рдирд╣реАрдВ рд╣реИ)
6. рдкреНрд░рджрд░реНрд╢рди рдХреЗрд╡рд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреИрдирд╛рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде (reflow рдШрдЯ рдЬрд╛рдПрдЧрд╛)
7. рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдирдХреА
style.display = "none"
рдЫрд┐рдкрд╛рдПрдВ
style.display = "none"
(
style.display = "none"
рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛) (рдпрд╣ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реИ)
рдСрдл-рд╡рд┐рд╖рдп, рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА:8. рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рдбреЗрд▓рд┐рдЧреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
9. DOM рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреИрд╢ (рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдорд╣рдВрдЧрд╛ рдСрдкрд░реЗрд╢рди рд╣реИ)
10. рдХреНрд╡рд┐рдХ рд╕рд┐рд▓реЗрдХреНрдЯрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ querySelectorAll () firstElementChild
11. рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ document.getElementsByTagName рддрддреНрд╡реЛрдВ рдХрд╛ "рд▓рд╛рдЗрд╡" рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдХреЛрдИ рддрддреНрд╡ DOM рдЯреНрд░реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдЧреНрд░рд╣ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛)
рдХрдИ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рдРрд╕рд╛ рджреГрд╢реНрдп рд▓рд╛рдн рдирд╣реАрдВ рджреЗрдВрдЧреА (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ)ред
рдкрдврд╝реЗрдВ:
рдирд┐рдХреЛрд▓рд╕ рд╕реАред рдЬрд╝рдХрд╕ - рдУрд░реЗрд▓реА рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЙрдиреНрдирдд рдПрдирд┐рдореЗрд╢рди requestAnimationFrame рдХреЗ рд╕рд╛рде24. рдХреНрдпрд╛ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣рд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдиреЛрдб.рдЬреЗрдПрд╕ рдореЗрдВ рдЪрд╛рдЗрд▓реНрдбрдкреНрд░реЛрд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ?
рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЛ рдЪрд╛рдЗрд▓реНрдбрдкреНрд░реЛрд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдмрд╣реБрдд рдЕрдзрд┐рдХ рдУрд╡рд░рд╣реЗрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ (рдпрд╣ рдЕрдкрд╛рдЪреЗ рдХреЗ рд╕рд╛рде PHP рдХреА рддрд░рд╣ рд╣реИ): рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА, рдХрд╛рдВрдЯрд╛ рд╕рдордп, рдЖрд░рдВрднреАрдХрд░рдг рд╕рдордп (рдЬрд┐рдж рд╕рдВрдХрд▓рди), рд╕реАрдкреАрдпреВ рд▓реЛрдб, рдЖрджрд┐ рдХрд╛ рдЖрд╡рдВрдЯрди рдХрд░рдирд╛ред Node.js рд▓реЛрдб рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ "рдИрд╡реЗрдВрдЯреЗрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реВрдк" рдореЗрдВ рдПрдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ - рдЖрд╡реЗрджрди рдХрд╛ рдореБрдЦреНрдп рдзрд╛рдЧрд╛ред
Node.js рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рддрд┐ рдХрд░реНрдиреЗрд▓ 1 рдХрд╛рдВрдЯрд╛ рд╣реИ, рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдВрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ ред рдХреНрд▓рд╕реНрдЯрд░ рдПрдХ рдмреИрд▓реЗрдВрд╕рд░ (рд╕реНрд╡рд╛рдореА) рдФрд░ рдХрд╛рдВрдЯреЗ - рджрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред рднрд╛рд░реА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд╛рдЗрд▓реНрдбрдкреНрд░реЛрд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдЪрд┐рдд рд╣реИредрдЖрдк рдЕрднреА рднреА рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: stackoverflow.com/questions/3491811/node-js-and-cpu-intensive-requests25. node.js рдореЗрдВ runInNewContext рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
RunInNewContext рдХреНрдпрд╛ рд╣реИ? - node-js.ru/12-control-context-using-runinnewcontextрдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореИрдВ рдХрд┐рд╕реА рдФрд░ рдХреЗ, рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрддрд╛ рд╣реВрдВ (рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╕реЗ Node.js рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдиреЛрдбрд░ рд╣реИ)ред рдЕрдЧрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВ - рдпрд╣ рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЖрд╡рд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рд╕рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рдордЭреМрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдмреБрд░рд╛ рд╣реИ: рд▓рдЧрд╛рддрд╛рд░ рдЬреАрд╕реА (рдЬреЛ рдкреВрд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИ) рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк - рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдмрдирд╛рдирд╛ / рд╣рдЯрд╛рдирд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕реЗ рдХреЛрдб рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАредрдирд┐рд╖реНрдХрд░реНрд╖
TheShock рдЙрди рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ рдЬреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ ред рднрд╛рд░реА рдЗрдВрдЯрд░рдлреЗрд╕ (рдЬреАрдореЗрд▓, рдФрд░ рдЕрдиреНрдп) рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рднреА рд╣реИредрдпрджрд┐ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ - рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВред