1. parseInt()
// js内置函数,注意接受参数是string,所以调用该方法时存在类型转换 parseInt("1.5555") // => 1
2. Number.toFixed(0)
// 注意toFixed返回的字符串,若想获得整数还需要做类型转换 1.5555.toFixed(0) // => "1"
3. Math.ceil()
// 向上取整 Math.ceil(1.5555) // => 2
4. Math.floor()
// 向下取整 Math.floor(1.5555) // => 1
5. Math.round()
// 四舍五入取整 Math.round(1.5555) // => 2 Math.round(1.4999) // => 1
6. Math.trunc()
// 舍弃小数取整 Math.trunc(1.5555) // => 1
7. 双按位非取整
// 利用位运算取整,仅支持32位有符号整型数,小数位会舍弃,下同 ~~1.5555 // => 1
8. 按位运或取整
1.5555 | 0 // => 1
9. 按位异或取整
1.5555^0 // => 1
10. 左移0位取整
1.5555<<0 // => 1
上述10种取整方法中,最常用的估计是前2种 [我裂开了~~],不过从性能角度看,位运算取整和Math函数性能最佳,内置方法parseInt次之,toFixed性能最劣。
以下是Benchmark测试结果,证明了这点,toFixed性能是最差的:
darwin x64 整数取整#getNum1#parseInt x 210,252,532 ops/sec ±2.74% (85 runs sampled) 整数取整#getNum2#toFixed x 3,281,188 ops/sec ±1.54% (86 runs sampled) 整数取整#getNum3#Math.ceil x 778,272,700 ops/sec ±3.97% (87 runs sampled) 整数取整#getNum4#Math.floor x 816,990,140 ops/sec ±0.54% (88 runs sampled) 整数取整#getNum5#Math.round x 814,868,414 ops/sec ±0.65% (88 runs sampled) 整数取整#getNum6#Math.trunc x 821,032,596 ops/sec ±0.54% (91 runs sampled) 整数取整#getNum7#~~num x 813,589,741 ops/sec ±0.67% (90 runs sampled) 整数取整#getNum8#num | 0 x 815,070,107 ops/sec ±0.65% (90 runs sampled) 整数取整#getNum9#num ^ 0 x 812,635,464 ops/sec ±0.74% (90 runs sampled) 整数取整#getNum10#num << 0 x 819,230,753 ops/sec ±0.49% (91 runs sampled) Fastest is 整数取整#getNum6#Math.trunc,整数取整#getNum10#num << 0
Benchmark源代码
参考
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年12月27日
2024年12月27日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]