【分享】JavaScript 中,num = num || 1 这种写法有哪些优缺点?
css吧
全部回复
仅看楼主
level 5
無題▫ 楼主
就是个简写法而已。好处就是短一点,但是其实坏处更大。
你是否确切知道什么时候会变成1?
——当num有值为0时,也会变成1!
——当num有值为NaN时(很可能意味着前面的计算出错了),也会变成1!
——另外当传入的值类型错误时,本来或许你的程序会报错,但是经过这个语句,也许就不报错了。
这些很可能不是你想要的结果,尤其是许多函数可能会加上针对0这个特殊值的处理,这往往会导致错误。就算现在正好是你想要的结果,但是以后的维护者(包括1个月以后的你自己)未必能一眼看出来!
所以个人建议在一定规模以上的团队或项目中,不要用 || 的短路,还是老老实实的写:
if (num == null) num = 1
唯一的例外是,如果你确切的知道那是一个对象而不可能是primitive值,可以用。
option = option || defaultOption
2017年06月07日 05点06分 1
level 4
整理了一些学习资料,一起学习进步吧[呵呵]
这里有一群志同道合的小伙伴
【292~463~479】
一个人走可以走的更快
但是一群人走可以走的更远
所以,学习的时候还是要有小伙伴的
2017年06月07日 05点06分 2
[真棒][真棒]不错
2017年06月14日 03点06分
感谢分享[吐舌]
2017年06月19日 07点06分
level 4
滴滴~打卡[呵呵]
2017年06月07日 07点06分 4
level 5
無題▫ 楼主
滴滴~一起学习吧[呵呵]
2017年06月10日 02点06分 5
level 4
命名 CSS 的类或 id 时单词间如何连接?[啊][啊]有大神懂吗
2017年06月10日 07点06分 6
level 4
[泪][泪]求解答楼上问题
2017年06月10日 07点06分 7
level 5
無題▫ 楼主
团队习惯
- 是连字符,从语义上,感觉更符合 css 中 class 的命名含义(组合式)
2017年06月10日 08点06分 8
level 5
無題▫ 楼主
楼主有话说,小白想自学的可以看2楼,我看了一下,里面的学习资料还是很不错的,很受用。感谢2楼的分享,小可爱们可以去看一下[呵呵]大家好才是真的好
2017年06月14日 03点06分 9
level 3
感谢2楼的分享,一起学习很快乐
2017年06月19日 07点06分 10
[呵呵][呵呵]
2017年06月19日 08点06分
level 4
[酷][酷]
2017年06月19日 08点06分 11
1