рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рд╕реЛрдЪрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХреЛрдб рдХреЛ рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрддреНрдкрд╛рджрди рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рдорд┐рдирд┐рдорд╛рдЗрдЬреНрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рднреА рдбреАрдмрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рддреЛ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛? рдЕрдм рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдпрджрд┐ рдЖрдк
рд╕реНрд░реЛрдд рдирдХреНрд╢реЗ рдирд╛рдордХ рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ / рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╕реЗ рдпрд╣ рдЖрдпрд╛ рдерд╛ред рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди, рд▓рдбрд╝рд╛рдХреВ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдФрд░ рд╕рдВрдпреЛрдЬрди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдЬрдм рдХрд┐рд╕реА рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЬрдЧрд╣ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдореИрдкрд░ рдореЗрдВ рдПрдХ рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрди рдФрд░ рдЪрд░рд┐рддреНрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ (WebKit рдирд╛рдЗрдЯрд▓реА рдмрд┐рд▓реНрдб рдпрд╛ Google Chrome рдХреИрдирд░реА) рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рд▓реЗрдЦрди рдХреЗ рд╕рдордп (
рдореВрд▓ рд▓реЗрдЦ - рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджред ), рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдиреЗ рд╕реЛрд░реНрд╕ рдореИрдк рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рдореЛрдЬрд╝рд┐рд▓рд╛рд╡рд┐рдХ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг - рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЬрдЧрд╣ рдХрд╛ рд╕рд╣реА рдирд┐рд░реНрдзрд╛рд░рдгрдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк textarea рдХреЛ рдХрд╣реАрдВ рднреА рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ "рдореВрд▓ рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ" рдЪреБрдиреЗрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреАрдкрд░ рдлрд╛рдЗрд▓ рдХреЛ рд▓рд╛рдЗрди рдФрд░ рдХреИрд░реЗрдХреНрдЯрд░ рдирдВрдмрд░ рдХреЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рд╕рд╛рде рдорд┐рдирд┐рдлрд╛рдЗрдЬреНрдб рдХреЛрдб рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЕрдкреАрд▓ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рд╕реЛрд░реНрд╕ рдлрд╛рдЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрдВрд╕реЛрд▓ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЕрдиреНрдп рд░реЛрдЪрдХ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рд▓рд╛рдЗрди рдирдВрдмрд░ рдФрд░ рдкреНрд░рддреАрдХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХреНрд░реЛрдо рдХреИрдирд░реА рдпрд╛ рд╡реЗрдмрдХрд┐рдЯ рдореЗрдВ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рджреГрд╢реНрдп рдХреЛ рд░рд╛рдд рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреБрдгреЛрдВ рдореЗрдВ "рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ" рдЖрдЗрдЯрдо рджреЗрдЦреЗрдВ (рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)

рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓рд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рд▓рдЪрд╕реНрдк рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдЕрдкрдиреЗ рдЕрдиреБрдХреВрд▓рд┐рдд Google Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ
рд╕рд╛рде dev.fontdragr.com рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдкреГрд╖реНрда рдкрд░ рдореМрдЬреВрдж рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдореИрдкрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рдзрдиреНрдпрд╡рд╛рдж рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреГрд╖реНрда рдкрд░ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рд╣реИред рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ, рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдФрд░ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдХреЛрдб рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдирддреАрдЬрддрди, рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрд╛рджрди рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг - fontdragr.com рдкрд░ рдХрдВрд╕реЛрд▓ рджреЗрдЦреЗрдВрд╣рдореЗрдВ рд╕реЛрд░реНрд╕ рдореИрдкреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдореИрдкрд┐рдВрдЧ рдЕрдм рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд / рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмреАрдЪ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░рдг рдмрдирд╛рдиреЗ рдХреА рдмрд╛рдд рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реАрдПрд╕рдПрд╕ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░реНрд╕ рдЬреИрд╕реЗ рдПрд╕рдПрдПрд╕рдПрд╕ рдФрд░ рд▓реЗрд╕ рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рд╣реИред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдерд╛:
- CoffeeScript
- ECMAScript 6 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг
- SASS / LESS рдЖрджрд┐ред
- рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рднрд╛рд╖рд╛ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реИ
рдЙрд╕ рдХреЙрдлреА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрдВрд╕реЛрд▓ рдХреЗ рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдмрд┐рд▓реНрдб рдореЗрдВ CoffeeScript рдбреАрдмрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ (GWT) рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ GWT рд╕реЗ
рд╕реЛрд░реНрд╕ рдореИрдкреНрд╕ рдФрд░ рд░реЗ рдХреНрд░реЙрдорд╡реЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реЛрд░реНрд╕ рдореИрдк рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг Google
рдЯреНрд░реЗрд╕реБрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ ES6 (ECMAScript 6) рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдФрд░ ES3- рд╕рдВрдЧрдд рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЯреНрд░реЗрд╕реБрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рднреА рдмрдирд╛рддрд╛ рд╣реИред ES6 рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд▓рдХреНрд╖рдгреЛрдВ)
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛
рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ , рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдереЗред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ Textarea рднреА рдЖрдкрдХреЛ ES6 рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ ES3 рдореЗрдВ рдордХреНрдЦреА рдкрд░ рд╕рдВрдХрд▓рди рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рднреА рдмрдирд╛рдПрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг - рдЖрдк ES6 рдкрд░ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреБрд░рдВрдд рдбрд┐рдмрдЧрд░ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВрдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдХрдВрдкрд╛рдЗрд▓рд░ / рдорд┐рдиреАрдлрд╝рд┐рдХреНрд╕рд░ рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ (рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдореИрдкрд░ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╣ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдЬрдмрдХрд┐ рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ Google рдХреНрд░реЛрдо рдХреИрдирд░реА рдбреЗ рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдлрд╛рдЗрд▓ рдореИрдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЙрд╕ рдлрд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ:
рдРрд╕реА рдЯрд┐рдкреНрдкрдгреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдЬреАрдм рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢реАрд░реНрд╖рдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
X-SourceMap: /path/to/file.js.map
рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреА рддрд░рд╣, рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдореИрдкрд░ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рдЙрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХрд▓-рд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред

рдкреНрд░реЙрдкрд░реНрдЯреА рдЗрдиреЗрдмрд▓ рд╣реЛрдиреЗ рдФрд░ рдХрдВрд╕реЛрд▓ рдУрдкрди рд╣реЛрдиреЗ рдкрд░ рд╣реА рдореИрдкрд░ рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдЧреАред рдареАрдХ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рд╡реЗ рдореИрдкрд░ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд░рд╛рд╕реНрддреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВред
рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ?
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ, рдЪрдордХрд╛рдиреЗ рдФрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
java -jar compiler.jar \ --js script.js \ --create_source_map ./script-min.js.map \ --source_map_format=V3 \ --js_output_file script-min.js
рдЖрдкрдХреЛ рдЬреЛ рдЭрдВрдбреЗ
--create_source_map
рд╡реЗ
--create_source_map
рдФрд░
--source_map_format
ред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, mapper V2 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ V3 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг
рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рд▓реЗрдВ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ "рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ" рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ
V3 рдХрд▓реНрдкрдирд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╣реИ:
{ version : 3, file: "out.js", sourceRoot : "", sources: ["foo.js", "bar.js"], names: ["src", "maps", "are", "fun"], mappings: "AAgBC,SAAQ,CAAEA" }
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИрдВ:
- рдореИрдкрд░ рд╕рдВрд╕реНрдХрд░рдг
- рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд / рд╡рд┐рд▓рдп рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо
sourceRoot
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП sourceRoot
рдЙрдкрд╕рд░реНрдЧ рдХреЛ sourceRoot
рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИsources
рдореЗрдВ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВnames
рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЪрд░ / рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ names
рд╢рд╛рдорд┐рд▓ рд╣реИрдВ- рдФрд░
mappings
рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рдорд╛рдВрдХрд┐рдд рдирд╛рдо рд╣реИрдВ
BASE64 VLQ рдпрд╛ рд╕реЛрд░реНрд╕ рдореИрдк рдХреЛ рдЫреЛрдЯрд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдЖрдЙрдЯрдкреБрдЯ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдлрд╝рд╛рдЗрд▓-рдореИрдкрд░ рдХреЛ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕реЗ 10 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рдмрдирд╛рддрд╛ рдерд╛ред рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдЖрдзреЗ рд╕реЗ рдХрдо рдХрд░ рджрд┐рдпрд╛, рдФрд░ рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЖрдзрд╛ рдХрд░ рджрд┐рдпрд╛ред рдЕрдм 133kB рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП ~ 300kB рдлрд╛рдЗрд▓-рдореИрдкрд░ рдЬреЗрдирд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЬрдЯрд┐рд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдХрдореА рдХреЛ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛?
рдЗрд╕рдореЗрдВ
рд╡реАрдПрд▓рдХреНрдпреВ (рд╡реИрд░рд┐рдПрдмрд▓ рд▓реЗрдВрде рдХреНрд╡рд╛рдВрдЯрд┐рдЯреА) рдФрд░ рдмреЗрд╕ 64 рдПрдирдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
mappings
рд╕рдВрдкрддреНрддрд┐ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рдЕрдВрджрд░, рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо (;) рдЕрд▓рдЧ рд▓рд╛рдЗрди рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░, рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб 1, 4 рдпрд╛ 5 рд╡реАрдПрд▓рдХреНрдпреВ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдирд┐рд░рдВрддрд░рддрд╛ рдмрд┐рдЯ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб 1, 4 рдпрд╛ рдкрд╛рдВрдЪ рд╡реАрдПрд▓рдХреНрдпреВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрд░реЗрдЦ 4 рд╡реАрдПрд▓рдХреНрдпреВ рдХреЛ рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдФрд░ рджрд┐рдЦрд╛рдПрдВ рдХрд┐ рдореИрдкрд░ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЦрдВрдб рдореЗрдВ рдкрд╛рдБрдЪ рдЪреАрдЬрд╝реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛
- рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓
- рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛
- рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛
- рдореВрд▓ рдирд╛рдо (рдпрджрд┐ рдХреЛрдИ рд╣реЛ)
(
рдЯрд┐рдкреНрдкрдгреА perevред рдореИрдВрдиреЗ рд▓реЗрдЦ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдпрджрд┐ рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓рд┐рдЦрдирд╛, рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ )
XSSI рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЗ
рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдирд┐рд░реНрджреЗрд╢ XSS рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ js рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдореИрдк рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ "
)]}
" рд▓рд┐рдЦрдХрд░ рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред WebKit dev рдЯреВрд▓реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдлрдБрд╕рд╛рдирд╛ рд╣реИ:
if (response.slice(0, 3) === ")]}") { response = response.substring(response.indexOf('\n')); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рддреАрди рд╡рд░реНрдгреЛрдВ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдорд╛рдиреНрдп рдХреЛрдб рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рд╣реИ, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдлрд╝реАрдб рд╡рд░реНрдг рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
@sourceURL
рдФрд░ рдкреНрд░рджрд░реНрд╢рдирдирд╛рдо рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ: eval
рдФрд░ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрди рджреЛрдиреЛрдВ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЛ рдЕрднреА рддрдХ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рднреА рд╡реЗ
eval
рдФрд░ рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рд╕рд╣рд╛рдпрдХ
//@ sourceMappingURL
рд╕рдорд╛рди рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (V3) рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИред рдХреЛрдб рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ, рдЬрд┐рд╕реЗ рддрдм
eval
рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдк
eval
s рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рдирд╛рдо рджреЗрдЧрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдЙрджрд╛рд╣рд░рдг - рдЙрддреНрдкрдиреНрди рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреЛрдб eval рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░рд╛
рдПрдХ рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рдирдирд╛рдо рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдирд╛рдо рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ
рд▓рд┐рдП рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд╛рдоред
рдЙрджрд╛рд╣рд░рдг - рдкреНрд░рджрд░реНрд╢рдирдирд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдо (рдХреЗрд╡рд▓ WebKit NIII)
рдЬрдм рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ,
(anonymous function)
рдмрдЬрд╛рдп рд╕реБрдВрджрд░ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ
displayName
Google рдХреНрд░реЛрдо рдХреЗ рдЕрдВрддрд┐рдо рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрднреА рднреА рдЙрдореНрдореАрдж рд╣реИ, рд╡реЗ рднреА рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред
рд▓реЗрдЦрди рдХреЗ рд╕рдордп,
eval
рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдирд╛рдордХрд░рдг рдХреЛрдб рдХреЗрд╡рд▓ Firefox рдФрд░ Google Chrome рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред
displayName
рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗрд╡рд▓ Google Chrome рдореЗрдВ рд╣реА рд░рд╛рдд рдореЗрдВ рдмрдирддреА рд╣реИред
рдореЗрдВ рдбрд╛рд▓реЛ
CoffeeScript рдореЗрдВ рд╕реЛрд░реНрд╕ рдореИрдк рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдкрд░ рдмрд╣реБрдд рд▓рдВрдмреА
рдЪрд░реНрдЪрд╛ рд╣реИ ред
UglifyJS рдХреЗ рдкрд╛рд╕
рд╕реЛрд░реНрд╕ рдореИрдк рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛
рдЯрд┐рдХрдЯ рднреА рд╣реИред
рдпрджрд┐ рдЖрдк рдЪрд░реНрдЪрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рджреЗрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдг рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЙрддрдирд╛ рд╣реА рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдУрдкрдирд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдорд╛рдВрдЧреЗрдВред
рд╕реНрд░реЛрдд рдХрд╛ рдирдХреНрд╢рд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ
рд╕рд╛рдорд╛рдиреНрдп рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реНрдХ рдпрд╛ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрджрд░реНрдн рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рд┐рд╡рд░реНрд╕ рдореИрдкрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░ / рддрд░реНрдХ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдорд┐рд▓рд╛рдПрдВред
рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЙрдЪрд┐рдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд╕рд╛рде рдФрд░ рднреА рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрдкрдХрд░рдг рдФрд░ рд╕рдВрд╕рд╛рдзрди
рд╕реЛрд░реНрд╕ рдореИрдк рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рджрди рдХреЛрдб рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрдкреАрдбрд╝рд┐рдд рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдЖрдкрдХреЛ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рд╡реЗ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрдирд╛ рдХрд░рдирд╛ рдФрд░ рдЙрдирдХрд╛ рдХреЛрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдорд┐рдирд┐рдлрд╛рдЗрдЬреНрдб рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рддреЛ рдЖрдк рдХрд┐рд╕рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдПрдБ!