一个竖杠在python中代表什么_详解js运算符单竖杠“|”与“||”的用法和作用介绍...
在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
单竖杠的运算规则
看了上面的例子,大体知道单竖杠可以进行取整运算,就是只保留正数部分,小数部分通过拿掉,但是“|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
这里面提到了单竖杠“|”但是没有javascript的。
好吧,我在这里公布答案吧。其实单竖杠“|”就是转换为2进制之后相加得到的结果。例如我们拿简单的举例:
3|4
转换为二进制之后011|100 相加得到111=7
4|4
转换为二进制之后100 |100 相加得到100=4
8|3
转换为二进制之后1000 |011 相加得到1011=11
以此类推,我在这里就不一一列举了,单竖杠“|”运算就是转换为2进制之后相加得到的结果!
JS 双竖线运算符
1、JS双竖线运算符:是或比较.如null||'1',返回'1';'2'||'1',返回'2'.即或运算符中,第一个为真,后面的就不用计算了.所以得'2'。
2、js 中 使用双竖线运算符"||",返回第一个有效值
var objOne = undefined || 1 || null || new Date();
var objTwo = new Date();
var objThree = objOne || objTwo;
alert(objThree.toString()); //out put "1"
总结
性能上的比较
逻辑运算符&& || 中,如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false;如果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true。而&和|运算符却不是这样的,它们总是要比较两个运算数才得出结果,因而性能上&&和||会比&和|好。
功能用法
&&和||只能进行逻辑运算,而&和|除了可以进行"逻辑运算"外,还可以进行位运算
位运算
&和|本是位运算符,之所以可以进行"逻辑运算",是由于JS是无类型的语言、各数据类型可以自由转换这一特性决定的,当用&和|进行"逻辑运算"时,实际上true被转换成1,false被转换成0,再进行逐位运算:
document.write(true & false); //JS,结果为0
上面这句,实例等同于逻辑运算被转化成下面的位运算,并执行:
document.write(1 & 0); //JS,结果为0
也正是由于&和|是逐位运算符,才出现了第一点中所说的,它们总是要比较两个运算数才得出结果,才导致性能会比&&和||低一些。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
一个竖杠在python中代表什么_详解js运算符单竖杠“|”与“||”的用法和作用介绍...相关推荐
- 详解python中的用法_详解python中*号的用法
1.表示乘号 2.表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi hi hi 3.单个 * (1) ...
- python中 的用法_详解python中@的用法
python中@的用法 @是一个装饰器,针对函数,起调用传参的作用. 有修饰和被修饰的区别,@function作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是函数定义). 代码1 结 ...
- python中集合变量_详解python的变量缓存机制
变量的缓存机制 变量的缓存机制(以下内容仅对python3.6.x版本负责) 机制 只要有两个值相同,就只开辟一个空间 为什么要有这样的机制 在计算机的硬件当中,内存是最重要的配置之一,直接关系到程序 ...
- python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- 详解python中的用法_详解python中@的用法
python中@的用法 @是一个装饰器,针对函数,起调用传参的作用. 有修饰和被修饰的区别,作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是函数定义). 代码1 def funa(d ...
- python中延时函数_详解python中实现延时回调普通函数
这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 前言 ...
- python中index函数_详解python中的index函数用法
1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...
- python中byte类型_详解python string类型 bytes类型 bytearray类型
搜索热词 一.python3对文本和二进制数据做了区分.文本是Unicode编码,str类型,用于显示.二进制类型是bytes类型,用于存储和传输.bytes是byte的序列,而str是unicode ...
- python中递归函数写法_详解python中递归函数
函数执行流程 def foo1(b,b1=3): print("foo1 called",b,b1) def foo2(c): foo3(c) print("foo2 c ...
最新文章
- 使用PHP CURL 模拟HTTP实现在线请求工具-toolfk程序员工具网
- linux操作这样用视频,Linux下使用mencoder对视频进行操作
- 网站的SEO以及它和站长工具的之间秘密
- 【flink】flink 复杂事件处理 CEP
- Flutter基础—根据用户输入改变控件
- http请求转为https请求 java_如何将Javaweb工程的访问协议由http改为https及通过域名访问?...
- ubuntu 卡死 安装 桌面_Ubuntu下图形界面卡死解决办法
- 易用宝项目记录day8-Excel的导入导出
- Allegro中 板框 尺寸标注
- 利用zxing生成二维码
- 【免费赠送源码】Springboot理发店线上预约排队的设计与实现 7vsz2计算机毕业设计-课程设计-期末作业-毕设程序代做
- 组件,控件,用户控件
- Addition Chains
- php打印10以内减法表,10以内加减法口诀表(A4纸可以打印)
- Basic -- Test harness
- IEEE Fellow梅涛:计算机视觉的前沿进展与挑战
- 轻量级的Java快速开发平台
- 【计算机网络】数据链路层——PPP协议和HDLC协议/数据链路层设备
- document.getElementById详解
- 了解python编程语言_《了》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
热门文章
- 学习linux从哪开始,刚刚接触Linux,一头雾水,不知道从哪里开始学习。
- Latex Mathematical Symbols | LATEX数学符号 | markdown
- Microsoft JScript 运行时错误: 对象不支持此属性或方法
- JAVA数组(输出26个英文字母)
- 蜡笔小新经典话语---注意其语义的规则
- 蜡笔小新之父臼井仪人的真实相貌
- MySql 获取年月日 时分秒、年月日、年月、年、月
- 【Rockchip】一、瑞芯微 Linux SDK软件包的解压和部署
- python模拟简单充值系统_【自编】使用Python实现Dayz 玩家银行充值自动到账
- java properties containskey_java.util.TreeMap.containsKey()方法实例