很多朋友对双竖线“||”很熟悉,因为这个经常用到。但是你知道单竖条吗?今天有网友QQ问我javascript实用技巧和js知识。本文js整数运算使用单竖线。问我单竖条是什么意思?看了下之前的文章,只写了用法,没有解释。好吧,我现在给大家简单介绍一下:在上一篇文章中,操作js整数时,相当于去掉小数点,parseInt。为正数时相当于Math.floor(),为负数时相当于Math.ceil()注:1.Math.ceil()用于四舍五入。2.Math.floor()用于向下取整。3.Math.round()四舍五入是数学中常用的。console.log(0.6|0)//0console.log(1.1|0)//1console.log(3.65555|0)//3console.log(5.99999|0)//5console.log(-7.777|0)//-7注:除了Math这三个方法处理数字外,我们还经常用到parseInt()、parseFloat()、toFixed()和toPrecision()等。简单解释:toFixed方法的用法如下:100.456001.toFixed(2);//100.47100.456001.toFixed(3);//100.456Number.prototype.toFixed.call(100.456001,2);//100.47缺点:使用后会变成字符串。toPrecision的用法如下:99.456001.toPrecision(5);//99.456100.456001.toPrecision(5);//100.46Number.prototype.toPrecision.call(10.456001,5);//10.456的运算规则上面看到单竖条比如我一般都知道单竖条可以四舍五入,就是只保留正数部分,去掉小数部分。但是“|0”是如何进行运算的呢?为什么“|0”可以达到四舍五入的目的?调整的目的是什么?如果单竖条不为0,会是多少?带着这些疑问,我们来看下面的例子:console.log(3|4);//7console.log(4|4);//4console.log(8|3);//11console.log(5.3|4.1);//5console.log(9|3455);//3455好吧,我把答案公布在这里。事实上,单竖线“|”是转换为二进制后得到的结果。例如,我们举一个简单的例子:3|4转换为二进制然后加上011|100得到111=74|4转换为二进制后加上100|100得到100=48|3转换为二进制,1000|011加上1011=11等等,这里就不一一列举了,单竖线“|”运算是转为二进制后得到的结果!【本文为专栏作家“谢军”原创稿件,如需转载可通过作者微信取得联系公众号(jingfeng18)】点此查看作者更多好文
