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

рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 1ред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо
рдореБрдЭреЗ "рдХреНрд▓рд╛рд╕рд┐рдХ" рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдЖрджрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЙрдбрд▓ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ "рдХрдХреНрд╖рд╛рдПрдВ" рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рд╣рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмрдВрдж рдФрд░ рдЦреБрд▓реЗ рддрд░реАрдХреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рдЧреБрдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рд╕рдм рдареАрдХ рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
тЦН рдЙрддреНрддрд░
рд╢рд╛рд╕реНрддреНрд░реАрдп рд╡рд┐рд░рд╛рд╕рдд рдмрд╣реБрдд рдпрд╛рдж рджрд┐рд▓рд╛рддреА рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЕрдкрдиреЗ рдкреВрд░реНрд╡рдЬреЛрдВ рдХреЗ рдЬреАрди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд▓реЛрдЧреЛрдВ рдореЗрдВ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдмреБрдирд┐рдпрд╛рджреА рдХреНрд╖рдорддрд╛рдПрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдЪрд▓рдирд╛ рдФрд░ рдмрд╛рдд рдХрд░рдирд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдХреБрдЫ рдЦрд╝рд╛рд╕рд┐рдпрддреЗрдВ рд╣реЛрддреА рд╣реИрдВред рд▓реЛрдЧ рдЙрд╕ рдЪреАрдЬрд╝ рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЙрдирдХреА "рдХреНрд▓рд╛рд╕" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рднреАрддрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "рдЧреБрдгреЛрдВ" рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рджрд╛рджрд╛-рджрд╛рджреА, рдорд╛рддрд╛ рдФрд░ рдкрд┐рддрд╛ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрдЪреНрдЪреЛрдВ рдпрд╛ рдкреЛрддреЗ рдХреЗ рдЬреАрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдкреГрдереНрд╡реА рдкрд░ рд╕рдм рдХреБрдЫ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдПрдХ рдФрд░ рдЧреНрд░рд╣ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕ рдкрд░ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рддрдВрддреНрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХрд╣реЛ, рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХреБрдЫ рдЬреАрд╡ рд╡рд╣рд╛рдВ "рдЯреЗрд▓реАрдкреИрдерд┐рдХ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо" рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреА рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдЕрдЬреАрдм рдЧреНрд░рд╣ рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдкрд┐рддрд╛ рд╡рд╕реНрддреБ рдХреЛ рджрд╛рджрд╛рдЬреА рд╡рд╕реНрддреБ рд╕реЗ рдЬреАрди рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдкреБрддреНрд░ рд╡рд╕реНрддреБ рдкрд┐рддрд╛ рд╕реЗ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИред рдЗрд╕ рдЧреНрд░рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╡рд╛рд╕реА рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рдЬреАрди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рджрд╛рджрд╛рдЬреА" рдореЗрдВ рддреНрд╡рдЪрд╛ рдХрд╛ рд░рдВрдЧ рд╣рд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЪрд┐рдиреНрд╣ "рдкрд┐рддрд╛" рдФрд░ "рдкреБрддреНрд░" рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдЕрдЪрд╛рдирдХ, "рджрд╛рджрд╛рдЬреА" рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╡рд╣ рд╣рд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЕрдм рд╡рд╣ рдиреАрд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреА рддреНрд╡рдЪрд╛ рдХрд╛ рд░рдВрдЧ рдмрджрд▓рддрд╛ рд╣реИ (рдЬреЗрдПрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ - рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ), "рдЯреЗрд▓реАрдкреИрдерд┐рдХрд▓реА" рдЗрд╕ рдореНрдпреВрдЯреЗрд╢рди рдХреЛ "рдлрд╛рджрд░" рдФрд░ "рд╕реЛрди" рдкрд╛рд╕ рдХрд░рдирд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, "рдкрд┐рддрд╛", рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ "рджрд╛рджрд╛рдЬреА" рджрд┐рдорд╛рдЧ рд╕реЗ рдмрдЪ рдЧрдП рдереЗ, рдЕрдкрдиреЗ рдЬреАрди рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдлрд┐рд░ рд╕реЗ рд╣рд░рд╛ рд╣реЛ рдЬрд╛рдП (рдЕрд░реНрдерд╛рдд, рд╡рд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ)ред рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди "рдЯреЗрд▓реАрдкреИрдерд┐рдХ" "рдмреЗрдЯреЗ" рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, "рдкрд┐рддрд╛" рдФрд░ "рдмреЗрдЯрд╛" рджреЛрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рдлрд┐рд░ рд╕реЗ рд╣рд░реА рддреНрд╡рдЪрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, "рджрд╛рджрд╛рдЬреА" рдЕрднреА рднреА рдиреАрд▓реЗ рд╣реИрдВред рдЕрдм, рд╡рд╣ рдЕрдкрдиреЗ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдФрд░ рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ "рдкрд┐рддрд╛" рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ "рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк" рдореЗрдВ рдЕрдкрдиреА рддреНрд╡рдЪрд╛ рдХрд╛ рд░рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ "рдкреБрддреНрд░" рдХреЛ рдпрд╣ рд░рдВрдЧ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдлрд┐рд░ "рдмреЗрдЯрд╛" рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрддрд╛ рд╣реИ: "рдореИрдВ рдХрд╛рд▓рд╛ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ред рдФрд░ рдореЗрд░реЗ рд╡рдВрд╢рдЬреЛрдВ рдХреЛ рдореЗрд░реЗ рдкрд┐рддрд╛ рд╕реЗ рд░рдВрдЧ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рдЕрдкрдиреА рд╕рдВрдкрддреНрддрд┐ (рдФрд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреА рд╕рдВрдкрддреНрддрд┐) рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреА рд╕рдВрдкрддреНрддрд┐ рдЙрд╕рдХреЗ рд░рдВрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рд╡рдВрд╢ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧреАред рд╣рдо рдпрд╣ рд╕рдм рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╣реИрдВ:
var Grandfather = function () {};
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 2ред рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ
рдпрджрд┐ рдЖрдк
new
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдирдП рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЦреБрдж рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ:
- рдореИрдВ рд╣рдореЗрд╢рд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╡реЗ рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдВред
- рдореИрдВ
this instanceof Function_Name
рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдкрд░реЗрд╢рди рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ (рдореИрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ this instanceof arguments.callee
рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ)ред - рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рддреБрд▓рдирд╛
window
рд╕рд╛рде рдХреА рдЧрдИ window
, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╣рд╛рд░реНрдб рдХреЛрдб рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдореЙрдбрд▓ рдХреНрдпрд╛ рд╣реИ?
тЦН рдЙрддреНрддрд░
рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рджреЛрдиреЛрдВ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдФрд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреА рдкрд░рд┐рдЪрд┐рддрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░,
new
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдирд╛рдо рджрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдирд┐рдпрдореЛрдВ рд╕реЗ рдЪрд┐рдкрдХрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ред рдпрджрд┐ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ
new
рдмрд┐рдирд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдХрд╛рдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреА рддреБрд▓рдирд╛ "рдЖрддреНрдо-рдзреЛрдЦреЗ" рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЙрд╕реА рд╕рдордп, рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрддрд╛ рдХрд┐ рдЖрдк рдЙрди рдбрд┐рдЬрд╝рд╛рдЗрдирд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЗрдВ
new
рдХреАрд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ: рдпрджрд┐ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ
new
рдмрд┐рдирд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ, рд╡реИрд╕реЗ рднреА, рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
var Obj = function () { "use strict"; this.pew = 100; };
рдлрд╝реИрдХреНрдЯрд░реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП
new
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдм рдХрд┐рд╕реА рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреЗрдорд╛рдиреА рд╣реИ:
рдпрджрд┐, рдПрдХ рдЫреЛрдЯреА рд╕реА рд╡рд╕реНрддреБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
var Obj = function () { "use strict"; this.pew = 100; };
рдпрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рд╕рдЦреНрдд рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ,
new
рдмрд┐рдирд╛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреАред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 3ред рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдХрд╛ рдЕрд╡рд░реЛрдзрди
рдХрд┐рд╕ рдорд╛рдЙрд╕ рдмрдЯрди рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ?
тЦН рдЙрддреНрддрд░
рдорд╛рдЙрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ
mouseup
рдФрд░
mouseup
рдШрдЯрдирд╛рдПрдБ рдЙрддреНрдкрдиреНрди
mouseup
рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
click
рдЗрд╡реЗрдВрдЯ рдХреЗрд╡рд▓ рдмрд╛рдИрдВ рдорд╛рдЙрд╕ рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдИрд╡реЗрдВрдЯ рдореЗрдВ рд╕реНрдерд┐рдд рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрдЯрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди (0 - рдмрд╛рдПрдВ, 1 - рдордзреНрдп, 2 - рджрд╛рдПрдВ) рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдкрд░реНрдЯреА рдкреНрд░реЙрдкрд░реНрдЯреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, IE рдореЗрдВ рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджрд┐рдЦрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
var button = document.getElementById ('button'),
JQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕ IE рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдмрд╕
event.which
рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп
event.which
рдЧреБрдг рдХрд╛ рдорд╛рди
event.button
:
$('button').mousedown(function (event) { alert(['Left', 'Middle', 'Right'][event.which]); });
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 4ред рдХреАрдмреЛрд░реНрдб рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХрд╛ рдЕрд╡рд░реЛрдзрди
рдХреНрдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рддреАрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдХрд░ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбрд╛рдЙрди рдФрд░ рдЕрдк рдХреАрдЬрд╝ рдХреЛ рджрдмрд╛рдХрд░) рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рддрд╛рдХрд┐ рдЙрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рди рдХрд░реЗ? рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ? рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдкреГрд╖реНрда рдПрдХ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рддреАрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдРрд╕реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
тЦН рдЙрддреНрддрд░
рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреАрд░ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдФрд░ рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдкреГрд╖реНрда рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЖрддрд╛ рд╣реИ, рдЬрдм рдЖрдк
submit
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ
form.submit()
ред
form.submit()
рдлрд╝рдВрдХреНрд╢рди рдХреЛ
form.submit()
, рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкреГрд╖реНрда рдкрд░ рд╡рд╣ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣
рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
window.addEventListener("keydown", function(e) {
рдЙрд╕рдХреЗ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдкреЗрдЬ рдЖрдорддреМрд░ рдкрд░ рдПрд░реЛ рдХреА рдкреНрд░реЗрд╕ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдЧрд╛ред
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣рд╛рдБ рдзреНрдпрд╛рди рджреЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
preventDefault()
рд╡рд┐рдзрд┐
preventDefault()
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЗрдирдкреБрдЯ рдлрд╝реЛрдХрд╕ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд┐рд╕реА рдРрд╕реА рдШрдЯрдирд╛ рдкрд░ рдЯрд╛рдВрдЧрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╡реЗрдВрдЯ рдЪреЗрди рдореЗрдВ рд╣реЛред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ
mousedown
рдШрдЯрдирд╛ рд╣реИ:
$('input').bind ('mousedown', function (event) { event.preventDefault();
рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдШрдЯрдирд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ - рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдБ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
mousedown
focus
(рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ рдлрд╝реЛрдХрд╕ рдЦреЛ рд░рд╣рд╛ рд╣реИ, рдПрдХ blur
рдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛)mouseup
click
рдпрджрд┐ рдЖрдк рддрддреНрд╡ рдХреЛ рдЗрдирдкреБрдЯ рдлрд╝реЛрдХрд╕ рд╕реЗ рд░реЛрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ
focus
рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 5ред рдЬреАрдЖрдИрдПрдл рдПрдиреАрдореЗрд╢рди рдФрд░ рдИрдПрд╕рд╕реА рдХреБрдВрдЬреА рдмрдВрдж рдХрд░реЛ
ESC рдХреБрдВрдЬреА рджрдмрд╛рддреЗ рд╕рдордп GIF рдПрдиреАрдореЗрд╢рди рдХреЛ рд░реЛрдХрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ?
тЦН рдЙрддреНрддрд░
рдпрд╣рд╛рдВ рдЖрдк рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдКрдкрд░ рдорд╛рдирд╛ рдерд╛ред рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, ESC рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдкрд░ GIF рдПрдиреАрдореЗрд╢рди рдФрд░ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЙрдирдХрд╛ рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП,
preventDefault()
рдИрд╡реЗрдВрдЯ рд╡рд┐рдзрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ред ESC рдХреБрдВрдЬреА рдХреЛрдб 27 рд╣реИред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 6ред рдЖрдИрдЖрдИрдПрдлрдИ рдореЗрдВ рдХреЛрд╖реНрдардХ
рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдлрдВрдХреНрд╢рди рдПрдХреНрд╕рдкреНрд░реЗрд╢рди (IIFE) рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рджреЛ рдХреЛрд╖реНрдардХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
тЦН рдЙрддреНрддрд░
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреЛрд╖реНрдардХ рдкрд╛рд░реНрд╕рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕реЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рднреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдпреЗ рдХреЛрд╖реНрдардХ рдХреНрдпрд╛ рд╣реИрдВ - рд╕рдореВрд╣ рд╕рдВрдЪрд╛рд▓рдХ, рдпрд╛ рдПрдХ рдирд┐рд░реНрдорд╛рдг рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рджреЛ рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ
SyntaxError
рдПрд░рд░ рддреНрд░реБрдЯрд┐ рдХрд╛
SyntaxError
рдХрд░реЗрдВрдЧреЗ:
function () {
рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдИ рдирд╛рдо рдирд╣реАрдВ рд╣реИ (рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛рдУрдВ рдореЗрдВ рдЙрдирдХреЗ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
рдЪрд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдлрдВрдХреНрд╢рди рдХреЛ рдПрдХ рдирд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:
function foo() {
рдЕрдм рдЪреВрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдирд╛рдо рд╣реИ, рдпрд╣ рдирд┐рд░реНрдорд╛рдг, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдм рдЗрд╕реЗ рдЧреНрд░реБрдкрд┐рдВрдЧ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдореВрд╣реАрдХрд░рдг рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣ рдХрдерди рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдХреЛрд╖реНрдардХ рдХрд╛ рдПрдХ рдХреНрд░рдо рдЬреЛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдХреНрд╕рд░ IIFE рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
(function () {
рд▓реЗрдХрд┐рди рдЕрдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рд╛рд░ рдХрд┐рд╕реА рддрд░рд╣ рдкрд╛рд░реНрд╕рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
!function () {
IIFE рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрдорд╛рдг jQuery рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдЖрдк рдХреНрд▓реЛрдЬрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐, IIFE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реНрдерд╛рдиреАрдп рджрд╛рдпрд░реЗ рдореЗрдВ рдХреБрдЫ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдХреЛ рдкреНрд░рджреВрд╖рдг рд╕реЗ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 7ред рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдХреЛрдб рдкрд╛рд╕ рдХрд░рдирд╛
рд╕рд░реНрд╡рд░, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рд╛рде AJAX рдмрд╛рддрдЪреАрдд рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ
alert ('Boom !!!');
рд╕реНрдЯреНрд░рд┐рдВрдЧ
alert ('Boom !!!');
рднреЗрдЬрддрд╛ рд╣реИ
alert ('Boom !!!');
ред рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдХреЛрдб рдХреЛ
eval()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЖрдЦрд┐рд░, рд╕рд░реНрд╡рд░ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдореЗрдВ рдЬреЛ рд╢рд╛рдорд┐рд▓ рд╣реИ рд╡рд╣ JSON рдирд╣реАрдВ рд╣реИ, XML рдирд╣реАрдВ рд╣реИ, рдФрд░ HTML рдирд╣реАрдВ рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд┐рдХрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ?
тЦН рдЙрддреНрддрд░
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдРрд╕реА рдпреЛрдЬрдирд╛ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдирд╛рдо рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрд╣ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕реНрдХреАрдо рд╣реИ рдЬреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рд╣реЛрддреА рд╣реИред рдпрд╣ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ PHP рдХреЛрдб рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реА рдмреБрд░рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдкрдпреБрдХреНрдд рднрд╛рд╖рд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рд╡реИрдЪрд╛рд░рд┐рдХ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдмреЗрд╣рдж рдЕрдирдореНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдпрд╣ рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рдХреЛрдб рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЦрд░рд╛рдм рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕рдХреА рдЬрдЯрд┐рд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдлрд┐рд░, рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд┐рд░ рд╕реЗ "рднреНрд░рдорд┐рдд" рдХрд░реЗрдВред рдореИрдВ рдХреЛрдб рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдХреЛрдб рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдкреГрдердХреНрдХрд░рдг рдФрд░ рдЗрди рднрд╛рдЧреЛрдВ рдХреА рдЕрдиреНрдпреЛрдиреНрдпрд╛рд╢реНрд░рд┐рддрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рдЦрд░рд╛рдм рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЗрд╕рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛, рдХрд┐рд╕реА рдЕрдиреНрдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрдо рд╕реЗ рдХрдо рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде, рдЖрдк рдПрдорд╡реАрд╕реА рдЬреИрд╕реЗ рдШрдЯрдирд╛ рддрдВрддреНрд░ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рд╕реНрддреБ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 8ред рдореБрдЦреНрдп рд╕реВрддреНрд░ рдореЗрдВ рднрд╛рд░реА рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдЖрджреЗрд╢реЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рдВрдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ "рдирд┐рд▓рдВрдмрд┐рдд" рди рдХрд░реЗрдВ?
тЦН рдЙрддреНрддрд░
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдПрдХрд▓-рдкрд┐рд░реЛрдпрд╛ рднрд╛рд╖рд╛ рд╣реИред рд╡реЗрдм рдкреЗрдЬ рдХреЛрдб рдХреЛ рдПрдХ рд╣реА рдереНрд░реЗрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ DOM рдЯреНрд░реА рд░реВрдкрд╛рдВрддрд░рдг рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЯрд╛рдЗрдорд░ рднреА рд╣реИрдВред рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди-рдЦрдкрдд рдСрдкрд░реЗрд╢рди ("рднрд╛рд░реА" рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓,) рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдордВрджреА рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕рдХреЗ рдкреВрд░реНрдг рдЕрд╡рд░реБрджреНрдз рд╣реЛрдиреЗ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдбрд╝рд╛ рднрд╛рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЙрдирдХрд╛ рдкреНрд░рднрд╛рд╡ рдЗрддрдирд╛ рдорд╣рддреНрд╡рд╣реАрди рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╕ рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдореБрдЦреНрдп рдзрд╛рдЧреЗ рдХреЗ рдмрд╛рд╣рд░ рднрд╛рд░реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗрдм рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрджрд┐ рд╢реНрд░рдорд┐рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЪрдХреНрд░ рдФрд░ "рднрд╛рд░реА" рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдкреБрд╕реНрддрдХ рдореЗрдВред рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди "рдирд┐рдХреЛрд▓рд╕ рдЬрд╝рдХрд╛рд╕ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ рднреА рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рд╡рд╛рд╣ 100 рдПрдордПрд╕ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реИред
рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рд╕реЗ, рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдЧрдгрдирд╛ рдХреЛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрдзрд┐рдХрддрдо 100 рдПрдордПрд╕ рд▓рдЧрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореБрдЦреНрдп рдзрд╛рдЧрд╛ рдХреЛ рдореБрдХреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣рд╛рдБ рдЙрдкрд░реЛрдХреНрдд рдкреБрд╕реНрддрдХ рд╕реЗ рдПрдХ рдирдореВрдирд╛ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
function timedProcessArray(items, process, callback) { var todo = items.concat();
timedProcessArray()
рдлрд╝рдВрдХреНрд╢рди 25 рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдереНрд░реЗрдб рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддрд╛ рд╣реИ, рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕реЗ 25 рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 9ред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдХреНрдпрд╛ рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ?
тЦН рдЙрддреНрддрд░
рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
onresize
рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░
onresize
ред рдпрд╣ рд╡рд┐рдзрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣реБрдд рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╕реМрджрд╛ рдХреЛрдб рд╣реИред
var time = 0, timerId, TIME_ADMISSION = 100;
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 10ред рдирдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдФрд░ рдЯреИрдм рдЦреЛрд▓рдирд╛
рдХреИрд╕реЗ, рдПрдХ рдирдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
window.open()
рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рдирдпрд╛ рдЯреИрдм рдирд╣реАрдВ?
тЦН рдЙрддреНрддрд░
рдХреИрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓
window.open()
рдкрджреНрдзрддрд┐ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдУрдкреЗрд░рд╛ рд╣рдореЗрд╢рд╛ рдирдП рдЯреИрдм рдЦреЛрд▓рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ), рд╕рдлрд╛рд░реА рд╣рдореЗрд╢рд╛ рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдЦреЛрд▓рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдХреНрд░реЛрдо, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ (рд╡рд┐рдВрдбреЛ рдХреА рд╕реНрдерд┐рддрд┐
window.open()
рд╡рд┐рдзрд┐
window.open()
рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реА рдЬрд╛рдПрдЧреА:
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
рдХреБрдВрдЬреА рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░
click
рдШрдЯрдирд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВрдЧреЗ:
function safariOpenWindowInNewTab (href) { var event = document.createEvent ('MouseEvents'), mac = (navigator.userAgent.indexOf ('Macintosh')> = 0);
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 11ред рдЧрд╣рд░реА рдирдХрд▓ рд╡рд╕реНрддреБрдУрдВ
рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЧрд╣рд░реА рдирдХрд▓ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ?
тЦН рдЙрддреНрддрд░
рдпрджрд┐ рд╡рд╣ рд╡рд╕реНрддреБ рдЬрд┐рд╕рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЖрдк рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЗрд╕реЗ
oldObject
рдХрд╣рддреЗ рд╣реИрдВ) рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧрд╛ (рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
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ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдзреНрд╡рдВрд╕рдХ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ? рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ?
тЦН рдЙрддреНрддрд░
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдореГрддрд┐ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рд╡рд╣ рдЕрдВрддрд┐рдо рд╕рдВрджрд░реНрдн рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:
var a = {z: 'z'}; var b = a; var c = a; delete az; delete a;
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ "рд╡рд┐рдзреНрд╡рдВрд╕рдХ" рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕рд╛рдлрд╝ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рдирд╣реАрдВред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 13ред рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ
рдХреНрдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреИрд╕реЗ?
тЦН рдЙрддреНрддрд░
рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреНрд▓реАрдХреЗрд╢рди рдореЗрдВ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк
рдмрд╛рдЗрдирд░реА рдкрд╛рд░реНрд╕рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрд╕рдХрд╛ рдХреЛрдб рдирд░рдХ рд╣реИред ES6 + рдореЗрдВ,
StructType
рдЯрд╛рдЗрдк рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реИ (рдпрд╣ рд╡рд╣реА рдЪреАрдЬрд╝ рд╣реИ рдЬреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рдордЧреНрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ C ++ рдореЗрдВ
StructType
рдЧрдИ рд╣реИ)ред рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:
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 } }]);
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 14ред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдЪрд░
рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд┐рдд рдЪрд░ рдХреИрд╕реЗ рдмрджрд▓реЗрдВ?
тЦН рдЙрддреНрддрд░
рдпрд╣рд╛рдБ рдЖрдк рдХрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЖрдк рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреЗ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (
primer()
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди smth()
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВред
- рдЖрдк
primer()
рдлрд╝рдВрдХреНрд╢рди рд╕реЗ smth()
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
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.6 рд╕реЗ рдкрд╣рд▓реЗ), рдЖрдк
__parent__
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4 рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣рдЯрд╛ рджреА рдЧрдИ рдереАред
рдкреНрд░рд╢реНрди рд╕рдВрдЦреНрдпрд╛ 15ред рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
тЦН рдЙрддреНрддрд░
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВ рдХрд┐
call()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ
call()
рдФрд░
apply()
рддрд░реАрдХреЗред
рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╕рд░рдгреА-рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓реЗрдВ
рдРрд░реЗ-рдЬреИрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
arguments
рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдФрд░
getElementsByTagName () рд╡рд┐рдзрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрд╡рд░рдг рд╡рд╕реНрддреБрдПрдБ рдмрдирд╛рдирд╛
call()
рдФрд░
apply()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпрд╣ рддрдХрдиреАрдХ рдЖрдкрдХреЛ рдЖрд╡рд░рдг рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред , -
foo()
,
bar()
.
:
function bar () {console.log(arguments)}
Function.call.apply()
:
function foo() { Function.call.apply(bar, arguments); }
,
Function.call.apply()
, ,
foo()
,
bar
.
тДЦ16.
, , ?
тЦН
. , Firefox 3.6,
__parent__
, .
тДЦ17.
, , ,
eval()
?
тЦН
, . , :
тДЦ18.
, JavaScript, , ?
тЦН
JavaScript - ┬л ┬╗. . . , :
$('#smth').click(function onSmthClick(event) { if (smth) {
тАФ , . , 2 :
$('#smth'). click (function handler1 (event) { if (smth) {
тДЦ19.
JavaScript ? тАФ , .
тЦН
click
┬л┬╗ DOM. (, , ).
// jQuery $(window).bind ('click', function (e) { console.log ('Clicked on', e.target); }); // $('#pewpew').delegate ('*', 'click', function(e) { console.log('Clicked on', e.target); }); // $('#pewpew').delegate('.pewpew', 'click', function (e) { console.log ('Clicked on element with .pewpew class name'); });
тДЦ20. XHR-
XHR- jQuery?
тЦН
, - :
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', '//google.com/favicon.ico', function (xhr) { console.dir(xhr) });
тДЦ21. -
(reflow) (repaint) -?
тЦН
requestAnimationFrame()
, , setInterval()
setTimeout()
. , , , , , . , JavaScript- CSS- SVG-. , , , , , , . , , .- float- ( ).
- DOM. , , , DOM ( ).
- тАФ . ( , , ). рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
// element.style.left = "150px;"; // ... element.style.color = "green"; // , , element.setAttribute ('style', 'color: green; left: 150px');
- ( ).
- тАФ (
style.display = "none"
). , .
, -, . , , , , .
- .
- DOM- ( тАФ ).
Document.querySelectorAll()
firstElementChild
.- ,
document.getElementsByTagName()
( , DOM, ).
тДЦ22. Node.js
Node.js, , ?
тЦН
, ( PHP Apache). , , . Node.js тАФ . , ,
cluster . (master) - (worker). , .
тДЦ23. runInNewContext() Node.js
runInNewContext()
Node.js.
тЦН
. , ( Node.js- Nodester). - ,
runInNewContext()
. , ┬л┬╗, . ┬л┬╗ , ,
runInNewContext()
.
рдкрд░рд┐рдгрд╛рдо
JavaScript . , - , .
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! , - , , JavaScript , ?
