为了账号安全,请及时绑定邮箱和手机立即绑定

js函数写法的蛋疼问题

js函数写法的蛋疼问题

烙印99 2019-04-16 20:26:37
强迫症菜鸟一枚...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;}最后写成上面这样了想问一下类似这样的函数有什么好一些的写法?不重复计算,看起来也容易明白.
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

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));
                            
查看完整回答
反对 回复 2019-04-16
?
墨色风雨

TA贡献1853条经验 获得超6个赞

利用立即调用函数表达式和闭包的概念.
varname=(function(){
varwidth=a;//目测这个变量在你代码中没用哈
vardefault_width=b;//同上
varscale=b/a;
returnfunction(num){
varreal=Math.ceil(num/scale);
returnreal;
};
}());
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 340 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信