вариант описания функций
Какой вариант описания функций предпочтительней? В двух словах почему? (я понимаю, что первый выполняется при загрузке)
//вариант 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, время: 08:20. |