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取整方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js实现响应按钮点击弹出可拖拽的非模态对话框完整实例【测试可用】

    js实现响应按钮点击弹出可拖拽的非模态对话框完整实例【测试可用】

    这篇文章主要介绍了js实现响应按钮点击弹出可拖拽的非模态对话框,结合完整实例形式分析了原生JavaScript实现的可拖拽非模态对话框实现技巧与使用方法,需要的朋友可以参考下
    2023-04-04
  • JS Loading功能的简单实现

    JS Loading功能的简单实现

    这篇文章主要介绍了JS Loading功能的简单实现。这个功能原理是很简单的,就是一个DIV遮盖当前页面,然后Loading就在遮盖DIV层上展示出来
    2013-11-11
  • JavaScript中的包装对象介绍

    JavaScript中的包装对象介绍

    这篇文章主要介绍了JavaScript中的包装对象介绍,存取字符串、数字、或布尔值的属性时创建的临时对象称作包装对象,本文着重讲解了什么是包装对象,需要的朋友可以参考下
    2015-01-01
  • Google Suggest ;-) 基于js的动态下拉菜单

    Google Suggest ;-) 基于js的动态下拉菜单

    Google Suggest ;-) 基于js的动态下拉菜单...
    2006-10-10
  • 28个JavaScript常用字符串方法以及使用技巧总结

    28个JavaScript常用字符串方法以及使用技巧总结

    这篇文章主要给大家介绍了28个JavaScript常用字符串方法以及使用技巧的相关资料,文中统计的方法都非常实用,无论是日常工作还是面试,都建议多看一看,需要的朋友可以参考下
    2021-09-09
  • TypeScript命名空间合并讲解

    TypeScript命名空间合并讲解

    这篇文章主要介绍了TS命名空间合并讲解,回顾上一节的内容,在上一节中我们介绍了TS中最常见的声明合并:接口合并,今天要讲的内容也是TS中的声明合并,但这次是命名空间相关的合并,需要的朋友可以参考一下
    2021-12-12
  • js定时器setInterval、clearInterval的使用方法举例

    js定时器setInterval、clearInterval的使用方法举例

    Javascript的setTimeOut和clearInterval函数应用非常广泛,它们都用来处理延时和定时任务,这篇文章主要给大家介绍了关于js定时器setInterval、clearInterval使用方法的相关资料,需要的朋友可以参考下
    2023-11-11
  • 小程序实现下拉列表框菜单

    小程序实现下拉列表框菜单

    这篇文章主要为大家详细介绍了小程序实现下拉列表框菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript原型与原型链深入探究使用方法

    JavaScript原型与原型链深入探究使用方法

    js中的原型与原型链应该是老生常谈的话题了,在前端面试中基本都是必问的一个问题,但是很多人还是稀里糊涂的,只知道其表层含义。本文将带大家深入了解JavaScript中的原型与原型链,感兴趣的可以学习一下
    2022-11-11
  • IE6已终止操作问题的2种情况及解决

    IE6已终止操作问题的2种情况及解决

    打开某个页面时,弹出提示框“Internet Explorer无法打开Internet 站,经过一番奋战,利用排除法解决了问题,共发现2种情况
    2014-04-04

最新评论