рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ



рд╕рд╛рд░рд╛рдВрд╢ :

рдХреБрдЫ рдЙрдЪреНрдЪ-рдХреНрд░рдо рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд▓реЗрдВ, рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдПрдХ рдЖрдВрд╢рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛрдбрд╝реЗрдВ, рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдЧреБрдирд╛ рд╕реАрдЬрд╝рди рдХрд░реЗрдВ, рдФрд░ DOM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ DSL рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдорд╛рдирд╡ рднрд╛рд╖рд╛ рдореЗрдВ :
рд╢реБрджреНрдз рдФрд░ рд╕реНрдкрд╖реНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рдЪрдпред

рд╣рд╛рд╕реНрдХреЗрд▓ рдереНрд░реЛрдВрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд , рд╕рдм рдХреБрдЫ рдЪрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдмрд╣реБрдд рдЕрдзрд┐рдХ) рдФрд░ рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ рдкрд░ рдмрд┐рдЫрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рд╡рд╛рдпреБрд╕реЗрдирд╛ рдХреА рдЕрдиреБрдкрдпреБрдХреНрддрддрд╛ рдХреЗ рдорд┐рдердХ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдЪрд┐рддреНрд░ рдореЗрдВ рд╣реИред



рдХрд╛рд░реНрдпреЛрдВ


рдЪрд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
function add(a,b){ console.log(a+b); }; 


рдЖрдк рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
 var add = function(a,b){ console.log(a + b); }; 


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╣рд╛рди рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдп рдкреВрд░реНрдг-рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдирд╛рдЧрд░рд┐рдХред
рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛, рдЬрд╣рд╛рдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм рдПрдХ рд╢реБрджреНрдз рдХрд╛рд░реНрдп рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
 var add = function(a,b){ return a + b; }; 


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

рдЗрд╕рд▓рд┐рдП, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкрд╣рд▓рд╛ рдирд┐рдпрдо - рд╣рдо рд▓рдбрд╝рд╛рдИ рдХреНрд▓рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рдХрд╛рд░реНрдп


рд╣рдо рдФрд░ рдЖрдЧреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ рдЬреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдпрд╛ рдЬреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рднреА рджреЗрддрд╛ рд╣реИред

 function makeAdder(base){ return function(num){ return base + num; } } 


рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
 var add2 = makeAdder(2); add2(3); //5 add2(7); //9 


рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯред

рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЙрдЪреНрдЪ рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдХрд╛рдлреА рдкреНрд░рд╕рд┐рджреНрдз рдЙрджрд╛рд╣рд░рдг рд╣реИ
 var el = document.getElementById("btn"); el.addEventListener("click", function (event){ }); 


AddEventListener рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, addEventListener рдПрдХ рдЙрдЪреНрдЪ рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рд╣реИред

рдФрд░ рдЬрдм рдХреЛрдИ рдШрдЯрдирд╛ рдШрдЯрддреА рд╣реИ рддреЛ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╢рд╛рдпрдж рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╣реИ:

 $("input[type=submit]").on("clink", function(event){ // ... }); 


рдпрд╛ рдПрдХ рдФрд░ рд╣рдЬрд╛рд░ рдФрд░ рдПрдХ рддрд░рд╣ рд╕реЗ jQuery рд╣реИрдВрдбрд▓рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рддреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдкрд░рд┐рднрд╛рд╖рд╛:
FVP рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ рдЬреЛ рдпрд╛ рддреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рдЪрдХреНрд░



рдкреБрд░рд╛рдиреЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред
рдЪрдХреНрд░ рд╕реЗ рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╣реИ рдорд╛рдирдХ рд▓рд▓рд╛рдЯ рд╕рдорд╛рдзрд╛рдиред рдХреБрдЫ рдЗрд╕ рддрд░рд╣

 for(var i =0; i<n; ++1){ // } 


рдпрд╛ рдРрд╕реЗ
 while(n--){ // ... } // ... 


рд╣рдо рдЫреЛрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЖрдЗрдП рдХреБрдЫ рдорд╛рдирдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд▓реВрдк рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдирд╛ рд╣реИ

 for(var i =0; l< arr.length; i<l; ++i){ console.log(arr[i]); } 


рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рдмрд╛рдИрдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдпреЗ рдкреНрд░рднрд╛рд╡ рд╕рд╛рдзрд╛рд░рдг рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк - рд╕реВрдЪрд┐рдпреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдЦреАрдВрдЪрдирд╛

 var names = []; for (var i =0; l= tweeps.length; i< l; ++i) { names.push(tweeps[i].name); } 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯреНрд╡рд┐рдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреАред
рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ

рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рд╣реИ:

 var html = ""; for(var i =0; l = items.length, i<l, i++){ html += '<li>' + items[i] + '</li>'; } this.list.innerHTML = html; 


рдпрд╣реА рд╣реИ, рд╣рдо рд╕реВрдЪреА рдбреЗрдЯрд╛ рдХреЛ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓рддреА рд╣реИред

foreach


рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рд▓реВрдк рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВ?

рдПрдХ рд╕рдорд╛рди рдЪрдХреНрд░ рдХреЛ рдХреНрдпрд╛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ?

 for (var i =1; l = arr.length; i< l; ++i){ console.log(arr[i]); } 


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП foreach ред

 Array.prototype.forEach arr.forEach(function(item){ console.log(item); }); 


рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рд░рдгреА рд╡рд┐рдзрд┐ред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмреАрдЪ рдмреБрдирд┐рдпрд╛рджреА рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ?
 for (var i =1; l = arr.length; i< l; ++i){ console.log(arr[i]); } 


рдФрд░ рдпрд╣

 arr.forEach(function(item){ console.log(item); }); 

?

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬреЗрдПрд╕ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд▓рд┐рдЦрд┐рдд рдкрд╛рда рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЪрдд рдирд╣реАрдВ рдорд┐рд▓реАред

рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ рднреА рд╣реИред рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреНрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рдЦрдВрдб рдЪрдХреНрд░ рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓реЗрдВ, рдЗрд╕реЗ рдПрдХ рд╕реЗ рдмрдврд╝рд╛рдПрдВ, рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рд░рдгреА рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдВред

рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╕рдордЭрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд╣рдо рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВред

рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рд╕реНрддрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рджреВрд╕рд░реА рддрд░рдл рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рддреЛ, рд╣рдо рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рдирдХреНрд╢рд╛


рдЖрдЗрдП рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦреЗрдВ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реИред

 var names = []; for( var i =0, l= tweeps.length, i< l; ++i){ names.push(tweeps[i].name); } 


рдпрд╣ рдПрдХ рдЕрдореВрд░реНрддрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕реВрдЪреА рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ , рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  //Array.prototype.map var names = tweeps.map(function (tweep){ return tweep.name; }); 


рд╣рдореЗрдВ рдЪрдХреНрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЧрдпрд╛ред рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХреЛрдбред рдФрд░ рдЪреВрдВрдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдлреА рдХрдо рд╣реИ, рд╣рдо рдПрдХ рд▓рд╛рдЗрди рдкрд░ рд╕рдм рдХреБрдЫ рдлрд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 var names = tweeps.map(function(t){return t.name;}); 


рдореИрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдкрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрдЯреНрдЯрд░рдкрдВрдереА рдирд╣реАрдВ рд╣реВрдВред рд▓реЗрдХрд┐рди рдХрд┐рддрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЗ рдПрдкреАрдЖрдИ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддрд╛ рд╣реИред
рдЕрдм рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЙрд▓реНрд▓реЗрдЦреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред

 var str = "mentioned by"; for(var i =0; l= tweeps.length; i < l; ++i){ str += tweeps[i].name; if(i< tweeps.length-1) {str += ", "} } 


рдПрдХ рдмрд▓реНрдХрд┐ рднрджреНрджреА рдорд┐рд╕рд╛рд▓ред рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдФрд░ рд╕рд░рдгреА рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдЗрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ:



рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреБрдбрд╝рдирд╛ рдФрд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛

 var str = "mentioned by " + tweeps.map(function(t){ return t.name; }).join(", "); 


рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдмрд╣реБрдд рдХрдо рд╣реЛ рдЧрдПред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? :)
рдЖрдЗрдП рдПрдХ рдФрд░ рдЙрдЪреНрдЪ рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред

рдЪрд▓реЛ рдЙрд╕реЗ рдкреНрд░реЛрдк рдХрд╣рддреЗ рд╣реИрдВ

 function prop(name){ return function (object){ return object[name]; } } 


рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдХрд╛рдлреА рдЕрд░реНрдерд╣реАрди рд╣реИред рд╣рдо рдЗрд╕рдореЗрдВ рдирд╛рдо рджреЗрддреЗ рд╣реИрдВ,
рдФрд░ рдпрд╣ рд╣рдореЗрдВ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред

рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рднреНрд░рд╛рдордХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдЖрдЗрдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

 var str = "Mentioned by " + tweeps.map(prop ("name")).join(", "); 


рддреЛ, рдПрдХ рдФрд░ рдПрдХ рд▓рд╛рдЗрдирд░ред рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред рдФрд░ рдкреНрд░реЛрдк рдлрд╝рдВрдХреНрд╢рди рдЗрддрдирд╛ рдмреЗрдХрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдХреЛ рдХрдо


рдпрд╣, рдорд╣рд╛рдорд╛рд░реА, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди-рджрд╛рджреА рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЧреБрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдЗрдП рдПрдХ рдЖрджрд┐рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
 var totalLength = 0; for(var i=0; i< buffers.length; i++){ total.Length += buffers[i].length; } 


рдмрд╕ рдмрдлрд╝рд░реНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдЬреЛрдбрд╝реЗрдВред
рд╣рдореЗрдВ рдХрд┐рди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?


рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реНрдпреВрдХред

рдкрд╣рд▓реЗ рд╣рдо рдмрдлрд░ рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
 var totalLength = buffers. map(function (buffer) {return buffer.length; }) 


рдФрд░ рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдЙрдирдХреА рд░рд╛рд╢рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
 var totalLength = buffers. map(function (buffer) {return buffer.length; }). reduce(function(sum, curr){return sum+curr;}, 0); 


рдпрджрд┐ рдЖрдк рдХрдо рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмреИрдЯрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмреИрдЯрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реВрдЪреА рдореЗрдВ рдХрдо рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

 [10, 5, 15, 10, 10].reduce(function(sum, curr){return sum+curr;}, 0); // [10, 5, 15, 10, 10] // sum curr // => 0, 10 => 10 // => 10, 5 => 15 // => 15, 15 => 30 // => 30, 10 => 40 // => 40, 10 => 50 


рддреЛ, рдХрдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реВрдЪреА рдЖрдЗрдЯрдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдерд╛ред рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред

 function (prev, curr){return prev + curr;} 

рдФрд░
 function add(a,b){ return a+b; } 

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдмрдлрд╝рд░реНрд╕ рдХреА рдХреБрд▓ рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 var totalLength = buffers. map(function (buffer) {return buffer.length; }). reduce(add, 0); 


рдХреНрдпрд╛ рдпрд╣ рдЕрдм рд╕реНрдкрд╖реНрдЯ рд╣реИ? рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реВрдЪреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдХрдо рдХрд░реЗрдВ ред рд░рд╛рд╢рд┐ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╢реВрдиреНрдп рд╣реИред рдХреНрдпрд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рд▓реЗрдХрд┐рди рд╕рд░рд▓реАрдХрд░рдг рд╡рд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рддреБрд▓рдирд╛

 function (buffer) {return buffer.length; } 

рдФрд░
 prop("length") 


рдкреИрдВрдЯ рдмрд╛рд░реА ...
 var totalLength = buffers. map(prop("length")). reduce(add, 0); 


рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╢реЙрд░реНрдЯреНрд╕ рдореЗрдВред

рдареАрдХ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдо рдЗрд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ

 var totalLength = buffers.map(prop("length")).reduce(add, 0); 


рд▓реВрдкреНрд╕ рдХреЗ рдмрдЬрд╛рдп рдХрдирд╡рд▓реНрд╢рди (рдХрдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╣рдо рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реНрддрд░ рдкрд░ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд╕реВрдЪреА рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд╕реНрддрд░ рдкрд░ред

рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЙрд▓



рд▓реЗрдХрд┐рди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд░реНрдл тАЛтАЛрдЧреБрдирд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╡рд┐рдЪрд╛рд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рдЖрдЗрдП рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рдзрд╛рдЧреЗ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЯрд╛рд╕реНрдХред

рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХрд╛рд░реНрдп рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 combine(["/jquery.js", "/underscore.js", "/backbone.js"], function(content){ // content    ,    . }); 


рдЖрдЗрдП рдХрдВрдмрд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд┐рдЦреЗрдВред рдкрд╣рд▓рд╛ - рд▓рд▓рд╛рдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдгред
 function combine(scripts, callback){ var data []; for(var i =0; l = scripts.length; i< l; ++i){ // .... } } 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, jQuery.ajax рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛:

 function combine(scripts, callback){ var data []; for(var i =0; l = scripts.length; i< l; ++i){ jQuery.ajax({ url: scripts[i], success : function(response){ // .... } }); } } 

рдРрд╕рд╛ рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЬрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ 3 рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╢реНрди рд╣реЛрдВрдЧреЗред

рд╣рдо рд╕рдлрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦреЗрдВрдЧреЗред

 function combine(scripts, callback){ var data []; for(var i =0; l = scripts.length; i< l; ++i){ jQuery.ajax({ url: scripts[i], success : function(response){ data[i] = response; if(data.length === scripts.length){ callback(data.join("")); } } }); } } 


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рддреИрдпрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рджреЛ рд╣реИрдВ рд▓реЗрдХрд┐рдиред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрджрд╕реВрд░рдд, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд - рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреЛрдкреНрд╕ рдХреЗ рд╕рд╛рдеред рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ, рдЧреБрдВрдЬрд╛рдЗрд╢ рдмреНрд▓реЙрдХ-рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИред рдЕрд░реНрдерд╛рддреН, рд╕рднреА 3 рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╡реИрд░рд┐рдПрдмрд▓ i рдХрд╛ рд╕рдорд╛рди рдорд╛рди рджреЗрдЦреЗрдВрдЧреЗред рдЪреВрдВрдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрдХреНрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╕рднреА рддреАрди рдХрд╛рд░реНрдп i == 3 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ;
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдПрдХ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХреА рдЧрдИ рд╣реИ - рд╣рдо рд▓реВрдк рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХреИрд╢ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ рдХрд┐ рдЗрд╕рд╕реЗ рдХреЛрдб рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╣реЛ рдЧрдпрд╛ рд╣реИред

 function combine(scripts, callback){ var data []; for(var i =0; l = scripts.length; i< l; ++i){ (function (i){ jQuery.ajax({ url: scripts[i], success : function(response){ data[i] = response; if(data.length === scripts.length){ callback(data.join("")); } } }); }(i)); } } 


рд▓рдЧрднрдЧ рдХрд╛рдо рднреА рдХрд░рддрд╛ рд╣реИред рдХреНрд▓реЛрдЬрд░ рдФрд░ рдЯреНрд░рд┐рдХреА рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдлреЛрд░рдЪреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

 function combine(scripts, callback){ var data []; scripts.forEach(function(script,i){ jQuery.ajax({ url: scripts[i], success : function(response){ data[i] = response; if(data.length === scripts.length){ callback(data.join("")); } } }); }); } } 


рдмреЗрд╢рдХ, рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдбрд░рд╛рд╡рдирд╛ рд╣реИред рд╡реИрд╕реЗ, рдХреЛрдб рдЕрднреА рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕реЗ рдПрдХ рд╕реНрд╡рд╕реНрде рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдкреИрджрд╛ рд╣реЛрдВрдЧреАред

рдХрдВрдЯреАрдиреНрдпреВ рдкрд╛рд╕рд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓


рд╕рд┐рд░рджрд░реНрдж рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ

github.com/caolan/async

рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реАрдкреАрдПрд╕ рдЬреИрд╕реА рдЪреАрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдлрдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдПрдХ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдкрд╣рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд░рд┐рдЯреНрд░реБрди рдХреЗ рдмрдЬрд╛рдп рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред

рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рд╕реЗ jQuery.ajax рд▓рдкреЗрдЯреЗрдВред

 function ajax(url, callback){ jQuery.ajax({url: url, success: callback}); } 


рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдордиреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВрдЧреЗред
рдпрджрд┐ рдЖрдк Async рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛:

 function combine(scripts, callback){ async.map(scripts, ajax, function(contents){ callback(contents.join("")); }); } 


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд░реЗрдбреАрдореЗрдб рдореИрдк рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдорд╛рд░реЗ рд▓рд▓рд╛рдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЧреНрд▓реВрдЗрдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХреНрд░рдо рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдЬреЛ рдерд╛ рдЙрд╕рд╕реЗ рддреБрд▓рдирд╛ рдХрд░реЗрдВ:
 function combine(scripts, callback){ var data []; for(var i =0; l = scripts.length; i< l; ++i){ (function (i){ jQuery.ajax({ url: scripts[i], success : function(response){ data[i] = response; if(data.length === scripts.length){ callback(data.join("")); } } }); }(i)); } } 


рдЪреВрдБрдХрд┐ рдореИрдк рдореЗрд░реЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рддрд░реАрдХрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдХрднреА рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдирдХреНрд╢реЗ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдПрд╕рд┐рдВрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рд╣реЛрддреА, рддреЛ рдореИрдВ рдЦреБрдж рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдореИрдк рд▓рд┐рдЦрддрд╛ред

рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреАрдЬреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЖрдВрд╢рд┐рдХ рдЙрдкрдпреЛрдЧ



рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдЬреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо DOM рддрддреНрд╡ рдмрдирд╛рдПрдВрдЧреЗред
(рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: cull.dom рд▓реЗрдЦрдХ рдХрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕реЗ рдЙрд╕рдиреЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдп рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рд░рд▓ рд╣реИрдВред)

 var ul = cull.dom.el("ul"); //document.createElement("ul") ul.nodeType === 1 // true 


рдЖрдк рд╕рдВрдкрддреНрддрд┐ рдЧреБрдг рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 var ul = cull.dom.el("ul", {className: "bands"}); 


рдФрд░ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ

 var li = cull.dom.el("li", "Tom Waits"); var ul = cull.dom.el("ul", {className: "bands"}, li); 


рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк HTML рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреАрдПрд╕рдПрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 va ul = cull.dom.el("ul", className:"bands"}, cull.dom.el("li", "Tom Waits")); 


рдЕрдм, рдЪрд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдВрд╢рд┐рдХ рдЙрдкрдпреЛрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╛рдж рд╣реИ?

 function makeAdder(base){ return function(num){ return base + num; } } 

рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИ рдЬреЛ рджреЛ рдирдВрдмрд░ рдХрд╛ рдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рдирд╛рдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 function makeAdder(base){ return function(num){ return add(base, num); } } 


рдФрд░ рдЕрдм рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореЗрдХрдЕрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдРрдб рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдПрдХ рддрд░реНрдХ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рдВрдХреНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддрд░реНрдХ рдПрдХ рд╕реНрдерд┐рд░ рд╣реИ

 var add2 = cull.partial(add, 2); add2(5); //7 


рдЕрдм рд╣рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛ - рд╣рдорд╛рд░реЗ DSL рдХреЛ DOM рддрддреНрд╡реЛрдВ рдХреЛ рдФрд░ рднреА рд╕реБрдВрджрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

 var ul = cull.partial(cull.dom.el, "ul"); var li = cull.partial(cull.dom.el, "li"); 


рдФрд░ рд╣рдо HTML рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

 var list = ul({className: "bands"}, [li("Diamanda Galas"), li(" "), li("John Zorn")]); 


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

 ["a", "br", "code", "div", ...].forEach(function(tagName){ cull.dom.el[tagName] = cull.partial(cull.dom.el, tagName); }); 


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ HTML рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрдВрдХреНрд╢рди рдмрдирд╛рдПрдВрдЧреЗред
рдмреЗрд╢рдХ, рдирд╛рдо рд╕реНрдерд╛рди рд╣рдореЗрд╢рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдЖрдЧреЗ рднреА рд╕рд░рд▓ рдХрд░реЗрдВрдЧреЗред

 var e = cull.dom.el; var list = ul({className: "bands"}, [e.li("Pan Sonic"), e.li(" "), e.li("Muslimgauze")]); 


рдЕрдм рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред

рд╕рдорд╛рд░реЛрд╣ рд░рдЪрдирд╛



рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ - рдПрдХ рдкреНрд░рд╢реНрдирд╛рд╡рд▓реАред


рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдХрдИ рдкреНрд░рд╢реНрди рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдмреНрд▓реЙрдХ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдЧрд▓реЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреЛ рдПрдХ рдкреИрдирд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╢реНрди рдореЛрдб, рдкрд░рд┐рдгрд╛рдо рдореЛрдб рдпрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред



рдкреНрд░рддреНрдпреЗрдХ рдкреИрдирд▓ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ, рджрд┐рдирд╛рдВрдХред
рдлрд╝реАрд▓реНрдб рджреЛ рдореЛрдб рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рдВрдкрд╛рджрди рдпрд╛ рдкрд░рд┐рдгрд╛рдоред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдорд╛рд░реА рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрдк рд╕реБрд╡рд┐рдзрд╛ рдпрд╛рдж рд╣реИ?

 tweeps.map(prop("name")); 


рдЙрд╕рдХрд╛ рдПрдХ рдЬреБрдбрд╝рд╡рд╛рдВ рднрд╛рдИ рд╣реИред

 tweeps.map(func("to.String")); 

рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ

 buildSummary: function(){ return div(this.components.map(func("buildSummary"))); } 


рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдПрдХ div рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП buildSummary рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рддрддреНрд╡ рд╣реЛрдВрдЧреЗред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рд╕реНрд╡рдпрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдкреИрдирд▓ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдо 2 рдХрд╛рд░реНрдп рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ: buildSummary рдФрд░ getSummary ред

рдкрд╣рд▓рд╛ HTML рдЯреИрдЧреНрд╕ рд╕рд╣рд┐рдд рдПрдХ рдкреВрд░реНрдг рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИред
рджреВрд╕рд░рд╛ - рдПрдХ рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЗ рд╣реИрдВред

рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдПрдХ рдЪрд╛рд▓рд╛рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рд╕рднреА рд╕реБрдВрджрд░рддрд╛ рдЙрдЦрдбрд╝рдиреЗ рд▓рдЧреАред

 buildSummary: function(){ var div = document.createElement("div"); for(var i =0; l=this.components.length; i<l; ++i) { p = document.CreateElement("p"); p.innerHTML = this.components[i].getSummary().text; div.appendChild(p); } return div; } 


рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЙрдиреНрдореБрдЦ рд╣реИрдВред рдкрд╣рд▓реЗ рд╕реНрдкрд╖реНрдЯ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ foreachред

 buildSummary : function(){ var div = document.createElement("div"); this.components.forEach(function(component){ var p = document.createElement("p"); p.innerHTML = component.getSummary().text; div.appendChild(p); }); return div; } 


рд╣рдореЗрдВ рд▓реВрдк рдЪрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

 buildSummary : function(){ return div(this.components.map(function(component){ var p = document.createElement("p"); p.innerHTML = component.getSummary().text; return p; })); } 


рд▓рдШреБ рд▓реЗрдХрд┐рди рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ред рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛:
 component.getSummary().text; 


рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдирд╣реАрдВ, рддреАрди рдЪреАрдЬреЗрдВ рд╣реЛ рд░рд╣реА рд╣реИрдВ:
  1. GetSummary () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
  2. рдкрд╛рда рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
  3. рдкреА рдЯреИрдЧ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд▓рдкреЗрдЯрдХрд░


рдХреБрдЫ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

 buildSummary: function() { return div(this.components. map(function(component){ return component.getSummary(); }).map(function(summary){ return summary.text; }).map(function(text){ var p = document.createElement("p"); p.innerHTML = text; return p; })); } 


рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдФрд░ рдкрдврд╝рдирд╛ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ?

 return component.getSummary(); 


рдпрд╣рд╛рдБ рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдердб рдХрд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдпрд╛, рдлрдВрдХ ред

 buildSummary: function() { return div(this.components. map(func("getSummary")). map(function(summary){ return summary.text; }).map(function(text){ var p = document.createElement("p"); p.innerHTML = text; return p; })); } 


рдФрд░ рдпрд╣рд╛рдБ?

 function(summary){ return summary.text; } 


рд╣рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдорд┐рд▓рддреА рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдп рднреА рд╣реИред

 buildSummary: function() { return div(this.components. map(func("getSummary")). map(prop("text")). map(function(text){ var p = document.createElement("p"); p.innerHTML = text; return p; })); } 

рдЖрдЦрд┐рд░реА рдЦрдВрдб рд░рд╣ рдЧрдпрд╛ред
 function(text){ var p = document.createElement("p"); p.innerHTML = text; return p; } 


рдпрд╣рд╛рдВ рд╣рдо рдПрдХ DOM рдПрд▓реАрдореЗрдВрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдкрдиреЗ рдбреАрдПрд╕рдПрд▓ рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рди рд╣реИрдВ, рд╣реИ рдирд╛?

 buildSummary: function() { return div(this.components. map(func("getSummary")). map(prop("text")). map(p)); } 

рдЕрдм рдпрд╣ рд▓рдЧрднрдЧ рд╕реБрдВрджрд░ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдХреИрд╡рд┐рдПрдЯ рд╣реИред рд╣рдо рд╕реВрдЪреА рдореЗрдВ 3 рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдХреБрдЫ рд╣рдж рддрдХ рдЙрдк-рд░реВрдкреАред рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдо рдПрдХ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рддреАрди рдХрд░рддреЗ рд╣реИрдВред

 var summarize = compose( [p, prop("text"), func("getSummary")]); 


рд╣рдо рд░рдЪрдирд╛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ?


рднрд╛рдЧреЛрдВ рдореЗрдВред рдкрд╣рд▓реЗ, рдЪрд▓реЛ рд╕рдорд╛рдирд╛рд░реНрдердХ рд╢рдмреНрдж рдмрдирд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рди рд▓рд┐рдЦреЗрдВред

 var callGetSummary = func("getSummary"); var getText = prop("text"); var summarize = compose([p, getText, callGetSummary]); 


рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рдо рдФрд░ рдЖрдЧреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЬрдм рд╣рдо рд╕рд╛рд░рд╛рдВрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рдХрджрдо


 var callGetSummary = func("getSummary"); var getText = prop("text"); var summarize = compose([p, getText, callGetSummary]); // summarize(obj); // => callGetSummary(obj) 

рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реВрдЪреА рд╕реЗ рдЕрдВрддрд┐рдо рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдЧреЗрдЯрд╕реНрдорд░реА рд╣реИ ред рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреЗрддрд╛ рд╣реИ ред рдФрд░ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдЧрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ

рджреВрд╕рд░рд╛ рдХрджрдо


 var callGetSummary = func("getSummary"); var getText = prop("text"); var summarize = compose([p, getText, callGetSummary]); // summarize(obj); // => getText(callGetSummary(obj)) 


рджреВрд╕рд░реЗ рдЪрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рд╡рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реЛрддреА рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж, рд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдЧреА рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреЛрдо рдбреЛрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдЧреАред

рдЪрд░рдг рддреАрди


 var callGetSummary = func("getSummary"); var getText = prop("text"); var summarize = compose([p, getText, callGetSummary]); // summarize(obj); // => p(getText(callGetSummary(obj))) 


рдпрд╣ рд╕рд░рд▓ рд░рдЪрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрдм рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдлрдВрдХреНрд╢рди рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреНрд░рдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд░рдЪрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрдЧреАред рдпрд╛ рдХреБрдЫ рдФрд░ред

рддреЛ, рд╣рдорд╛рд░реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреАрдбрд╝рд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ред

 builSummary: function() { var summarize = compose( [p, prop("text"), func("getSummary")]); return div(this.components.map(summarize)); } 


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ред рдФрд░ рдлрд┐рд░ рд╣рдордиреЗ рдирдХреНрд╢рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рдВрдХреНрд╖реЗрдк рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпреЗ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд╛рд░ рд╣реИрдВ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рдЪрдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

 var summarize = compose( [p, prop("text"), func("getSummary")]); // ... builSummary: function() { return div(this.components.map(summarize)); } 


рдпрд╣ рд╢рд╛рдВрдд рдФрд░ рд╕реБрдВрджрд░ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЗ



for - 5M рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб
forEach - 1.5M рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб
рдХрдо - 1.5M рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб

DOM - 50K рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░реЗрдВ

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

рдирд┐рд╖реНрдХрд░реНрд╖



рд╣рдо рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдирдХреНрд╢рд╛, рдХрдо рдХрд░реЗрдВ)ред
рд╣рдо рдЫреЛрдЯреЗ рд╕рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдХрдИ рдЫреЛрдЯреЗ рдЕрдореВрд░реНрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдмрдбрд╝реА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреАрдЬ рдореЗрдВ рдЗрдХрдЯреНрдареЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореВрд▓ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ PS рд╕реНрд▓рд╛рдЗрдб рдХреЛ cjohansen.no/talks/2012/javazone
PPS рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╣рдм рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

Source: https://habr.com/ru/post/In154105/


All Articles