位置: 编程技术 - 正文
推荐整理分享详解js运算符单竖杠“|”与“||”的用法和作用介绍(js的运算符),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:js ??运算符,js中的运算符号,js %运算符,js?运算符,js中的运算符号,js常用运算符有哪五大类,js 运算符,js中运算符可分为,内容如对您有帮助,希望把文章链接给更多的朋友!
在js开发应用中我们通常会碰到“|”与“||”了,那么在运算中“|”与“||”是什么意思呢?
在js整数操作的时候,相当于去除小数点,parseInt。在正数的时候相当于Math.floor(),负数的时候相当于Math.ceil() 注:
1. Math.ceil()用作向上取整。2. Math.floor()用作向下取整。3. Math.round() 我们数学中常用到的四舍五入取整。
单竖杠的运算规则
看了上面的例子,大体知道单竖杠可以进行取整运算,就是只保留正数部分,小数部分通过拿掉,但是“|0”,又是如何进行运算的呢,为什么能“|0”能达到取整的目的呢?单竖杠不是0有会是多少呢?
带着这些问题,我们看下面例子:
这里面提到了单竖杠“|”但是没有javascript的。
好吧,我在这里公布答案吧。其实单竖杠“|”就是转换为2进制之后相加得到的结果。例如我们拿简单的举例:
3|4
转换为二进制之后| 相加得到=7
4|4
转换为二进制之后 | 相加得到=4
8|3
转换为二进制之后 | 相加得到=
以此类推,我在这里就不一一列举了,单竖杠“|”运算就是转换为2进制之后相加得到的结果!
JS 双竖线运算符
1、JS双竖线运算符:是或比较.如null||'1',返回'1';'2'||'1',返回'2'.即或运算符中,第一个为真,后面的就不用计算了.所以得'2'。
2、js 中 使用双竖线运算符"||",返回第一个有效值
总结
性能上的比较
逻辑运算符&& || 中,如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false;如果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true。而&和|运算符却不是这样的,它们总是要比较两个运算数才得出结果,因而性能上&&和||会比&和|好。
功能用法
&&和||只能进行逻辑运算,而&和|除了可以进行"逻辑运算"外,还可以进行位运算
位运算
&和|本是位运算符,之所以可以进行"逻辑运算",是由于JS是无类型的语言、各数据类型可以自由转换这一特性决定的,当用&和|进行"逻辑运算"时,实际上true被转换成1,false被转换成0,再进行逐位运算:
上面这句,实例等同于逻辑运算被转化成下面的位运算,并执行:
也正是由于&和|是逐位运算符,才出现了第一点中所说的,它们总是要比较两个运算数才得出结果,才导致性能会比&&和||低一些。
标签: js的运算符
本文链接地址:https://www.jiuchutong.com/biancheng/376019.html 转载请保留说明!友情链接: 武汉网站建设