рдЬреИрд╕рд╛ рдХрд┐ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдЕрдЬреАрдм рд╣реИ, рд╣реЗрдмреЗ рдкрд░ рдЗрд╕ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдЕрдкреНрд░реИрд▓ 2012 рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рд╖рдп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реЗрдмреЗ рдкрд░ рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЬреЗрдПрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓реЗрдЦрдХ рд╡реЗрдм рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдвреВрдВрдврддреЗ рд╣реИрдВ, рдХреБрдЫ рдЕрдкрдиреЗ рджрдо рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ,
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдХреНрдпреЛрдВ рдирд╣реАрдВ ред рдХреЛрдИ рд╕рд┐рд░реНрдл
рдЕрдкрдиреА рдмрд╛рдЗрдХ рд▓рд┐рдЦрддрд╛ рд╣реИред
рдореЗрд░реА рд░рд╛рдп рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрддрд┐рд░реЗрдХ рдХреЛрдб рдХреА рдХрдореА рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдзрд┐рдХрддрдо рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рдХреЗ рд▓рд┐рдП, рдЯреЙрдЯреЛрд▓реЙрдЬреА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рдпрджрд┐ рдкреВрд░реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ HTML рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдпрд╣ jQuery рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ Node.js рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░
js-files рдХрд╛ рдПрдХ рдкреИрдХреЗрдЯ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдорд╛рдкрджрдВрдбреЛрдВ, рдкрд░рд┐рд╡рд░реНрдзрди рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рднрд╛рд░реА рд░реВрдкрд░реЗрдЦрд╛ рд▓рд┐рдЦрдиреЗ рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╡рдХреВрдл рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рдкрдХ рдЬрд╛рддреА рд╣реИ рдФрд░ рдХреНрд░реЙрдлрд░реНрдб jsmin рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдмрд╣реБрдд рддреЗрдЬрд╝, рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрдЧрд╛ рдФрд░ рдЖрд╕рд╛рдиред
рдЕрдзрд┐рдХ рдХреЛрдб, рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВред рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб, рдЙрддрдирд╛ рд╣реА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЬрдм рдЖрдк рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдХреЛрдб рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕рдХреЗ рд╕рдорд░реНрдерди рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд▓реЗрддреЗ рд╣реИрдВред рдпрд╣ рдХрд╣рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ "рдпрд╣ рдмрдЧ рдореЗрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд╣реИред"
рд╡реЗрдирд┐рд▓рд╛ рдЬреЗ.рдПрд╕.
рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЗрд╕ рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬреЗрдПрд╕-рдврд╛рдВрдЪреЗ рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рд╡реЗрдирд┐рд▓рд╛ JS рдЯреАрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрдб рдХреЗ рд╣рд░ рдмрд╛рдЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдФрд░ рд╕рд╣рдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рджрд┐рди рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рддреА рд╣реИред
рд╡реЗрдирд┐рд▓рд╛ JS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреМрди рдХрд░ рд░рд╣рд╛ рд╣реИ? рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреВрдЫреА рдЧрдИ рдЕрдЪреНрдЫреА рдмрд╛рдд, рдпрд╣рд╛рдБ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: рдлреЗрд╕рдмреБрдХ, Google, YouTube, Yahoo, Wikipedia, Windows Live, Twitter, Amazon, LinkedIn, MSN, eBay, Microsoft, Tumblr, Apple, Pinterest, PayPal, Reddit, Netflix, Stack Overflowред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реИрдирд┐рд▓рд╛ JS рдкрд╣рд▓реЗ рд╕реЗ рд╣реА jQuery, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк JS, MooTools, YUI, рдФрд░ Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ!
рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдк рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рд░реВрдкрд░реЗрдЦрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдбреЛрдо (рд╣реЗрд░рдлреЗрд░ / рдЪрдпрдирдХрд░реНрддрд╛)
- рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо
- AJAX
- рдПрдирд┐рдореЗрд╢рди
- рдШрдЯрдирд╛ рдкреНрд░рдгрд╛рд▓реА
- рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
- рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп
- рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ
- рдЧрдгрд┐рддреАрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп
- рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп
- рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдк рдЕрдкрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╕рдВрдкреАрдбрди рд╕реНрд░реЛрдд
- UTF8 рдПрдиреНрдХреЛрдбреЗрдб
- "CRLF" рд▓рд╛рдЗрди рдмреНрд░реЗрдХ (рд╡рд┐рдВрдбреЛрдЬ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЕрдзрд┐рдХрддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╡рдЬрди рд╣реЛрдЧрд╛:
рдЕрд╕рдВрдкреАрдбрд╝рд┐рдд: 0 рдмрд╛рдЗрдЯреНрд╕, рд╕рдВрдкреАрдбрд╝рд┐рдд: 25 рдмрд╛рдЗрдЯреНрд╕ред
deploymenta
рд╡реЗрдирд┐рд▓рд╛ рдЬреЗрдПрд╕ рдЯреАрдо рд╕рднреА рд╕рдордп рдХрд╛ рд╕рдмрд╕реЗ рд╣рд▓реНрдХрд╛ рдврд╛рдВрдЪрд╛ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреА рд╣реИ; рд╣рдорд╛рд░реА рдЙрддреНрдкрд╛рджрди рд╕рд╛рдЭрд╛рдХрд░рдг рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡реЗрдирд┐рд▓рд╛ JS рдХреЛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░ рджреЗрдВрдЧреЗред
рд╡реЗрдирд┐рд▓рд╛ JS рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЕрдкрдиреЗ HTML рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
<script src="path/to/vanilla.js"></script>
рдЬрдм рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрддреНрдкрд╛рджрди рдкрд░ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ, рддреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╡рд┐рдзрд┐ рд╕реЗ рдмрджрд▓реЗрдВ:
рдпрд╣ рд╕рд╣реА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдХреЛрдб рдирд╣реАрдВ рд╣реИред рд╡реЗрдирд┐рд▓рд╛ рдЬреЗрдПрд╕ рдЗрддрдирд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдм рджрд╕ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред
рдЕрдиреНрдп рдЪреМрдЦрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛
ID рджреНрд╡рд╛рд░рд╛ DOM рддрддреНрд╡ рдЦреЛрдЬреЗрдВ
рдврд╛рдВрдЪрд╛ | рдХреЛрдб | рдСрдкред \ рд╕реЗрдХ |
---|
рд╡реЗрдирд┐рд▓рд╛ рдЬреЗ.рдПрд╕. | document.getElementById('test-table'); | 12,137,211 |
рдбреЛрдЬреЛ | dojo.byId('test-table'); | 5,443,343 |
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк js | $('test-table') | 2,940,734 |
рдПрдХреНрд╕рдЯ рдЬреЗрдПрд╕ | delete Ext.elCache['test-table']; Ext.get('test-table'); | 997.562 |
jQuery | $jq('#test-table'); | 350.557 |
YUI | YAHOO.util.Dom.get('test-table'); | 326.534 |
MooTools | document.id('test-table'); | 78.802 |
рдЯреИрдЧ рдирд╛рдо рд╕реЗ рдЖрдЗрдЯрдо рдЦреЛрдЬреЗрдВ
рдврд╛рдВрдЪрд╛ | рдХреЛрдб | рдСрдкред \ рд╕реЗрдХ |
---|
рд╡реЗрдирд┐рд▓рд╛ рдЬреЗ.рдПрд╕. | document.getElementsByTagName("span"); | 8,280,893 |
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк js | Prototype.Selector.select('span', document); | 62.872 |
YUI | YAHOO.util.Dom.getElementsBy(function(){return true;},'span'); | 48.545 |
рдПрдХреНрд╕рдЯ рдЬреЗрдПрд╕ | Ext.query('span'); | 46.915 |
jQuery | $jq('span'); | 19.449 |
рдбреЛрдЬреЛ | dojo.query('span'); | 10.335 |
MooTools | Slick.search(document, 'span', new Elements); | 5457 |
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
рдзреАрд░реЗ рд╕реЗ рдЖрдЗрдЯрдо рдЫрд┐рдкрд╛рдирд╛
рд╡реЗрдирд┐рд▓рд╛ рдЬреЗ.рдПрд╕. | var s = document.getElementById('thing').style; s.opacity = 1; (function(){(s.opacity-=.1)<0?s.display="none": setTimeout(arguments.callee,40)})(); |
jQuery | <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $('#thing').fadeOut();</script> |
AJAX рдХреЙрд▓
рд╡реЗрдирд┐рд▓рд╛ рдЬреЗ.рдПрд╕. | var r = new XMLHttpRequest(); r.open("POST", "path/to/api", true); r.onreadystatechange = function () { if (r.readyState != 4 || r.status != 200) return; alert("Success: " + r.responseText); }; r.send("banana=yellow"); |
jQuery | <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $.ajax({ type: 'POST', url: "path/to/api", data: "banana=yellow", success: function (data) { alert("Success: " + data); }, }); </script> |
рдирд┐рд╖реНрдХрд░реНрд╖
рдЖрдк Vanilla JS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдВрдХ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЬрдм рдЖрдк рд╡реИрдирд┐рд▓рд╛ рдЬреЗрдПрд╕ рдкрд░ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

-
рдкреЛрд╕реНрдЯ рдХреЗ рд▓реЗрдЦрдХ рд╕реЗ
рдЦреИрд░, рд╢рд╛рдпрдж рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ!
рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рдФрд░ рд▓реЗрдиреЗ рдХреА рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред