js函数写法的蛋疼问题

强迫症菜鸟一枚...
functionname(num){
varwidth=a;
vardefault_width=b;
varscale=b/a;
varreal=Math.ceil(num/scale);
returnreal;
}
写一些函数经常会遇到类似的问题,像这个函数我会多次调用.但是前三行其实都是重复计算的.
varwidth=a;
vardefault_width=b;
varscale=b/a;
functionname(num){
varreal=Math.ceil(num/scale);
returnreal;
}
写成上面这种感觉很乱
(functionnameVar(){
varwidth=a;
vardefault_width=b;
scale=b/a;
}())
functionname(num){
varreal=Math.ceil(num/scale);
returnreal;
}
最后写成上面这样了
想问一下类似这样的函数有什么好一些的写法?不重复计算,看起来也容易明白.
烙印99
浏览 341回答 2
2回答

慕村225694

vara=40,b=20;varcname={width:a,default_width:b,scale:a/b,ceil:function(num){returnMath.ceil(num/this.scale)}}console.log(cname.ceil(2));

墨色风雨

利用立即调用函数表达式和闭包的概念.varname=(function(){varwidth=a;//目测这个变量在你代码中没用哈vardefault_width=b;//同上varscale=b/a;returnfunction(num){varreal=Math.ceil(num/scale);returnreal;};}());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript