рдЬреЛ рдХрд┐ jq рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдмреБрд░рд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдПрдХреНрд╕ рддрддреНрд╡ рд╣реИрдВ, рдПрдХ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЗрд╕реЗ рд░рд╛рдЬреНрдп рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣реЛрдЧрд╛, рдЕрдХреЗрд▓реЗ рдирд╣реАрдВред
рд▓реЗрдЖрдЙрдЯред
рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрддреНрд╡ рд╣реИрдВ - рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрдирд╛ред
<body> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> <div class="testDiv"></div> </body>
// рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рд▓рдЧрднрдЧред
рдЬреЗ рдПрд╕ред
рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВ, рд╣реИрдВрдЧ рдХреНрд▓рд┐рдХ, рдкреНрд░реЛрд╕реЗрд╕ рдХреНрд▓рд┐рдХ, рдЪреЗрдХ - рдЕрдирдЪреЗрдХ, рдЪреЗрдХ рдирд╣реАрдВ - рдорд╛рд░реНрдХ
jQ
рдХрдиреЗрдХреНрдЯреЗрдб jQ
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди
$(function(){ $('.testDiv').on('click', function(){ var vedroCache = $(this); if (vedroCache.hasClass('isActiveTestDiv')){ vedroCache.removeClass('isActiveTestDiv'); } else{ vedroCache.addClass('isActiveTestDiv'); } }); });
рдЬреЗ рдПрд╕
рдЬрдХ рдХреЗ рдмрджрд▓реЗ
рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рдирд╛
J.ready(function(){ var J = this, elems = J.$c('testDiv'), i = elems.length; function clickListener(){ J[J.classHas(this, 'isActiveTestDiv') ? 'classDel' : 'classAdd'](this, 'isActiveTestDiv'); } for (;i--;){ J.eventAdd(elems[i], 'click', clickListener); } });
рдмрд╛рд▓реНрдЯреА рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ 350 divs рдФрд░ рдЕрдЧрд▓реЗ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдПрдореБрд▓реЗрд╢рди
if (!('console' in window) || !('time' in console)){ (function(w){ var times = {}, C; if (!('console' in w)){ w.console = C = {}; C.log = function(data){ alert(data); } } else{ C = w.console; } C.time = function(name){ times[name] = new Date().getTime(); }; C.timeEnd = function(name){ if (name in times){ return new Date().getTime() - times[name]; } }; }(window)); }
рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реБрдЖ

рдФрд░ рд▓реЛрдордбрд╝реА рдореЗрдВ 18.0.1
jQ ms16ms
рдЬреЗ ms2 рдореА
рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
рдХреЛрдб рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдореБрдЦреНрдп рдЕрдВрддрд░ред
рдмрдХреЗрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛, рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд
$ (/ * рдЬреЛ рдХреБрдЫ рднреА * *) ./ рдЙрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░реЛ * /
рд╣рдо jq рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрд╡рдзрд╛рд░рдгрд╛ рдПрдХ рд╣реА рд╣реИред
рд╕рдм рдХреБрдЫ (рдмрдХреЗрдЯ) рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рддреИрдпрд╛рд░ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рд╢реЗрд▓ рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ
рдХреЛрдИ рдмрд╛рд▓реНрдЯреА рджреГрд╖реНрдЯрд┐рдХреЛрдг (рд╕рдорд╛рдзрд╛рди рд╕реЗрдЯ)
/ * рд╕рдорд╛рдзрд╛рди рдХрд╛ рдирд╛рдо * / (/ * рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ :) * / /)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ рдЕрдЧрд░ рд╕рдорд╛рдзрд╛рди рдЧрд▓рдд рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИред
J.ready(function(){ var J = this, elems = J.$c('testDiv'),
рдЖрдк рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡рд┐рд╖рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ: рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдФрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рд╕рдм рдХреБрдЫ рджрд┐рдП рдмрд┐рдирд╛, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред
рдкрд░рд┐рдгрд╛рдорд╕рдВрдкрд╛рджрд┐рдд рднрд╛рдЧред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред
рдореИрдВ рдХреНрдпрд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:
1. рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ред
рдпрд╣ рд╕реЛрдЪрдиреЗ рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдмреБрд░рд╛ рд╣реИред
рдореИрдЬрд┐рдХ рдмреЙрдХреНрд╕, рдпрд╣рд╛рдБ рдореЗрд░рд╛ рддрддреНрд╡ рд╣реИ рдЗрд╕рдХреЗ рд╕рд╛рде рдореЗрд░реЗ 5 рд╡реЗрдВ рд╕реНрддрд░ рдХреЗ рд╕рдкрдиреЛрдВ рдХреА рдХреНрд░рд┐рдпрд╛ рд╣реИред
рдЬрдм рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ рддреЛ рдпрд╣реА рдХрд╣рддреЗ рд╣реИрдВ
$ ('myElement')ред doDoingOfMyDrem (5);
рдмреЙрдХреНрд╕ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрд╕рд╕реЗ рдХреНрдпрд╛ рдкреВрдЫрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдЖрд╡рд░рдг рдореЗрдВ рдЪрд▓рд╛рдПрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрдЭреЗ рдЕрдзрд┐рдХ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ:
рдореЗрд░реЗ рд╕рдкрдиреЛрдВ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдПрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд░реЗрдВ, рдЬреЛ рдХрд┐ рдХрдХреНрд╖рд╛ рд╕реЗ, 5 рд╡реЗрдВ рд╕реНрддрд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
J рд╣реЗрд▓реНрдкрд░реНрд╕ рдХреА рдорджрдж рд╕реЗ рдРрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛
J.doDoingOfMyDrem (J. $ c ('myElement'), 5);
рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рдХрд╛ рд▓рд┐рдВрдХ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рддрддреНрд╡ рдХреЗ DOM рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:
$ (рдпрд╣) .doDoingOfMyDrem (5);
рдХреЗ рдЦрд┐рд▓рд╛рдл
рдЬреЗред рдбреВрдбрд┐рдВрдЧрдСрдлрдПрдо рдбреЗрдбреНрд░реАрдо (рдпрд╣, 5);
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ 350 divs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдЕрдЪреНрдЫреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдордп, рдкрд░рд┐рдгрд╛рдо 14ms рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдЕрдВрддрд░ рдЕрд▓рдЧ рд╣реИред рд╕реНрд╡рдпрдВ рд╕реЗрд╡рд╛ рдХрд┐рдпреЛрд╕реНрдХ рдкрд░ рдЬреИрд╕реЗ рдХрд┐рд╡реА рдпрд╛ рдирдпрд╛ рднреБрдЧрддрд╛рди, рдЬреЛ рдЕрдм рддрдХ рдореБрдЭреЗ HTML рдореЗрдВ рдкрддрд╛ рд╣реИ, рддреАрд╕рд░рд╛ред рдФрд░ Android рдХреЗ рд╕рд╛рде рдЯреАрд╡реА рдкрд░?
3. рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЧрдВрднреАрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдпреБрдЧ рдЖрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдРрд╕реЗ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдХрднреА рдмрдбрд╝реЗ рдФрд░ рдмрдбрд╝реЗ рдмрдВрдбрд▓реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдВрдбрд▓реЛрдВ рдХреЗ рдмрдбрд╝реЗ рдмрдВрдбрд▓реЛрдВ рдореЗрдВ рдорд╣рд╕реВрд╕ рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрдВрднреАрд░ рдЪреАрдЬ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдиреНрдпреВрдирддрдо рднрддреНрддрд╛ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рди рддреЛ jQ, рдФрд░ рди рд╣реА рдХрдИ рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдиреЗ рдЦреБрдж рдХреЛ рдПрдХ рдЧрдВрднреАрд░ рдиреАрдВрд╡ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрдИ рдХрд╛рд░рдгреЛрдВ рдХрд╛ рдЖрдзрд╛рд░ рдмрдирд╛рдпрд╛, рдФрд░ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣рд┐рд╕реНрд╕рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ рдЬреЛ рдЕрдкрдиреЗ рдЬрд╛рджреВ рдХреЗ рдмрдХреНрд╕реЗ рдХреА рдХреАрдордд рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдореИрдВ
рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐
рдпрд╣ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ
рдЖрд╡рд╢реНрдпрдХ рд╣реИред