详解JavaScript中|单竖杠运算符的使用方法


Posted in Javascript onMay 23, 2016

js运算符单竖杠“|”的作用

在js整数操作的时候,相当于去除小数点,parseInt。在正数的时候相当于Math.floor(),负数的时候相当于Math.ceil() 注:

1. Math.ceil()用作向上取整。
2. Math.floor()用作向下取整。
3. Math.round() 我们数学中常用到的四舍五入取整。

console.log(0.6|0)//0
console.log(1.1|0)//1
console.log(3.65555|0)//3
console.log(5.99999|0)//5
console.log(-7.777|0)//-7

注:除了Math的三个方法处理数字,我们还经常用parseInt()、parseFloat()、toFixed()与toPrecision() 等等。 简单解释:

toFixed方法用法如下:

100.456001.toFixed(2); //100.47

100.456001.toFixed(3); //100.456

Number.prototype.toFixed.call(100.456001,2); //100.47

缺点:用之后就会变成字符串。

toPrecision用法如下:

99.456001.toPrecision(5); //99.456

100.456001.toPrecision(5); //100.46

Number.prototype.toPrecision.call(10.456001,5); //10.456

单竖杠的运算规则

看了上面的例子,大体知道单竖杠可以进行取整运算,就是只保留正数部分,小数部分通过拿掉,但是“|0”,又是如何进行运算的呢,为什么能“|0”能达到取整的目的呢?单竖杠不是0有会是多少呢?

带着这些问题,我们看下面例子:

console.log(3|4); //7
console.log(4|4);//4
console.log(8|3);//11
console.log(5.3|4.1);//5
console.log(9|3455);//3455

好吧,我在这里公布答案吧。其实单竖杠“|”就是转换为2进制之后相加得到的结果。例如我们拿简单的举例:

3|4

转换为二进制之后011|100  相加得到111=7
4|4

转换为二进制之后100 |100  相加得到100=4
8|3

转换为二进制之后1000 |011  相加得到1011=11
Javascript 相关文章推荐
JQuery this 和 $(this) 的区别
Aug 23 Javascript
基于jquery的动态创建表格的插件
Apr 05 Javascript
利用JS判断用户是否上网(连接网络)
Dec 23 Javascript
Javscript删除数组中指定元素并返回新数组
Mar 06 Javascript
jQuery菜单插件用法实例
Jul 25 Javascript
jQuery编写设置和获取颜色的插件
Jan 09 Javascript
jQuery中 bind的用法简单介绍
Feb 13 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 Javascript
浅谈webpack 构建性能优化策略小结
Jun 13 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
在JavaScript中实现链式调用的实现
Dec 24 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
Nov 16 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 #Javascript
jQuery Mobile中的button按钮组件基础使用教程
May 23 #Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
May 23 #Javascript
jQuery插件formValidator实现表单验证
May 23 #Javascript
超链接怎么正确调用javascript函数
May 23 #Javascript
以WordPress为例讲解jQuery美化页面Title的方法
May 23 #Javascript
jQuery中选择器的基础使用教程
May 23 #Javascript
You might like
php 获取完整url地址
2008/12/20 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python模糊图片过滤的方法
2018/12/14 Python
django连接oracle时setting 配置方法
2019/08/29 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
计算机本科生自荐信
2013/10/15 职场文书
应届生财务管理求职信
2013/11/06 职场文书
优秀应届生推荐信
2013/11/09 职场文书
查环查孕证明
2014/01/10 职场文书
个人授权委托书
2014/09/15 职场文书
三方合作意向书范本
2015/05/09 职场文书
检讨书格式
2019/04/25 职场文书
入党转正申请书范文
2019/05/20 职场文书
五年级作文之想象作文
2019/10/30 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
基于Python实现股票收益率分析
2022/04/02 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏