JavaScript十大取整方法实例教程

 更新时间:2020年12月03日 15:33:00   作者:_风清洋  
这篇文章主要给大家介绍了关于JavaScript的十大取整方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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/

到此这篇关于JavaScript十大取整方法的文章就介绍到这了,更多相关JS取整方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • d3.js中冷门却实用的内置函数总结

    d3.js中冷门却实用的内置函数总结

    D3.js是一个JavaScript库,它可以通过数据来操作文档。D3可以通过使用HTML、SVG和CSS把数据鲜活形象地展现出来。d3.js其实提供了很多内置的函数,可以却被大家忽略了,下面这篇文章就来给大家详细介绍了d3.js中冷门却实用的一些内置函数,需要的朋友可以参考借鉴。
    2017-02-02
  • js父页面中使用子页面的方法

    js父页面中使用子页面的方法

    这篇文章主要向大家介绍了js父页面中使用子页面的方法,即js父页面使用iframe中的函数,感兴趣的朋友可以参考一下
    2016-01-01
  • JavaScript 控制字体大小设置的方法

    JavaScript 控制字体大小设置的方法

    下面小编就为大家带来一篇JavaScript 控制字体大小设置的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 使用JavaScript实现获取audio时长

    使用JavaScript实现获取audio时长

    这篇文章主要为大家详细介绍了如何使用JavaScript实现获取audio时长,并且转换为分钟00:00:00格式,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • d3.js实现立体柱图的方法详解

    d3.js实现立体柱图的方法详解

    这篇文章主要给大家介绍了利用d3.js实现立体柱图的方法,文中给出了详细的介绍和示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Javascript attachEvent传递参数的办法

    Javascript attachEvent传递参数的办法

    找了半天找到的解决办法,看介绍说是javascript的闭包问题,导致得不能直接读取外部的那个函数,不然就所有传递的参数都变为最后一个了。
    2009-12-12
  • My Desktop :) 桌面式代码

    My Desktop :) 桌面式代码

    My Desktop 桌面式 代码
    2008-12-12
  • JS面向对象编程实现的拖拽功能案例详解

    JS面向对象编程实现的拖拽功能案例详解

    这篇文章主要介绍了JS面向对象编程实现的拖拽功能,结合具体案例形式详细对比分析了JS面向过程与面向对象实现的拖拽功能相关操作技巧,需要的朋友可以参考下
    2020-03-03
  • 详解JavaScript中关于this指向的4种情况

    详解JavaScript中关于this指向的4种情况

    这篇文章主要介绍了JavaScript中关于this指向的4种情况,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 详解js数组的完全随机排列算法

    详解js数组的完全随机排列算法

    本文主要对常见的完全错误的随机排列算法进行介绍分析,并介绍了经典的随机排列算法,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12

最新评论