вариант описания функций
Какой вариант описания функций предпочтительней? В двух словах почему? (я понимаю, что первый выполняется при загрузке)
//вариант 1 var math={ raz:function raz(val){ return val+1; }, dva:function dva(val){ return val+2; } }; //вариант 2 function raz(val){ return val+1; } function dva(val){ return val+2; } |
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> //вариант 1 var math={ raz:function raz(val){ return val+1; }, dva:function dva(val){ return val+2; } }; //вариант 2 function raz(val){ return val+1; }; function dva(val){ return val+2; }; // Вот и вся разница alert(math.raz(1)); alert(raz(1)); </script> </head> <body> </body> </html> |
Как "преимущество" можно отметить вот такой вызов метода...
var math={ raz:function raz(val){ return val+1; }, dva:function dva(val){ return val+2; } }; alert(math['raz'](1)); |
Цитата:
|
В первом случае Вы засоряете пространство имён одним новым именем, во втором — двумя.Так что лучше первый. А вот между
//вариант 1 var raz = function raz(val){ return val+1; }, dva = function dva(val){ return val+2; }; //вариант 2 function raz(val){ return val+1; } function dva(val){ return val+2; }Уже особой разницы нет. |
Сорри, плохой пример. Как такой?
var overlay={ val:0.1, speed:10, init:function(){ overlay.obj=createEl('div',{},{'display':'none','background':'#000','width':'100%','height':'100%','top':'0','left':'0','position':'fixed','zIndex':'98'}); }, show:function(){ show(overlay.obj); if(overlay.val<0.7){ setOpacity(overlay.obj,overlay.val+=0.02); setTimeout('overlay.show()',overlay.speed); } }, hide:function(){ if(overlay.val>0){ setOpacity(overlay.obj,overlay.val-=0.02); setTimeout('overlay.hide()',overlay.speed); } else{hide(overlay.obj);} } }; 1. Эта ф-я выполняется ведь частично при загрузке (первые 2 строчки)? 2. Повторю вопрос, какой вариант лучше (второй писать не буду, смысл ясен)? |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 23:30. |