JavaScript 中 一个竖杠‘|’和 连个竖杠‘||’的区别在哪里?

JavaScript029

JavaScript 中 一个竖杠‘|’和 连个竖杠‘||’的区别在哪里?,第1张

‘|’是位运算符;

‘||’是逻辑运算符,用来做判断的;

一个杠的我用的不多,下面的经常用到,做逻辑判断的时候;

&:逻辑与,&&同样可以表示逻辑与;

||:逻辑或,|也可以表示逻辑或;

===:先判断左右两边的数据类型,如果数据类型不一致,直接返回false;

!:逻辑非;

++:自加符号,在原有的基础上加上1;

js运算符双竖杠“||”的用法

1、JS双竖线运算符:是或比较。如null||‘1’,返回’1’‘2’||‘1’,返回’2’。即或运算符中,第一个为真,后面的就不用计算了,所以得’2’。

2、js中使用双竖线运算符"||",返回第一个有效值

varobjOne=undefined||1||null||newDate()

varobjTwo=newDate()

varobjThree=objOne||objTwo

alert(objThree.toString())//output“1”

扩展资料:

1、逻辑运算符&&、||和&、|性能上的比较

逻辑运算符&&||中,如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false;

如果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true。而&和|运算符却不是这样的,它们总是要比较两个运算数才得出结果,因而性能上&&和||会比&和|好。

2、功能用法

&&和||只能进行逻辑运算,而&和|除了可以进行"逻辑运算"外,还可以进行位运算。

3、位运算

&和|本是位运算符,之所以可以进行"逻辑运算",是由于JS是无类型的语言、各数据类型可以自由转换这一特性决定的,当用&和|进行"逻辑运算"时,实际上true被转换成1,false被转换成0,再进行逐位运算:

document.write(true&false)//JS,结果为0

竖线“|”就是或的意思。意思是将两个匹配条件进行逻辑“或”(or)运算。

例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。

而最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行符)。

扩展资料:

求值运算:

进行逻辑表达式求值运算,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:

1、对逻辑表达式从左到右进行求解。

2、短路原则:在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。

具体理解逻辑表达式运算规则时可以先找到表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。

从最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。

如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。

参考资料来源:百度百科-正则表达式