代码如下:
<script
type="text/javascript">
/*******************************************************************
利用运算符优先级实现ifelse表达式
result
=
expression1
&&
expression2
当且仅当两个表达式的值都等于
True
时,
result
才是
True。
如果任一表达式的值等于
False,
则
result
为
False。
JScript
使用下面的规则,来把非
Boolean
值转换为
Boolean
值:
所有对象都被认为是
true。
字符串当且仅当为空时被认为是
false。
null
和未定义的均被认为是
false。
数字当且仅当为零时是
false。
*******************************************************************/
alert(1&&0)
//false,return
the
first
false's
argument
0
alert(1&&2)
//true,return
the
last
true's
argument
2
/*******************************************************************
result
=
expression1
||
expression2
如果两个表达式中有一个或两个等于
True,则
result
是
True。
JScript
使用下面的规则来把非
Boolean
值转换为
Boolean
值:
所有对象都被认为是
true。
字符串当且仅当为空时才被认为是
false。
null
和未定义的均被认为是
false。
数字当且仅当为
0
时才是
false。
*******************************************************************/
alert(1||0)
//true,return
the
first
ture's
argument
1
alert(0||false)
//false,return
the
last
false'
argument
false
/*******************************************************************
"并列"表达式,返回最后一个表达式
*******************************************************************/
alert((1,0,-1))
//return
the
last
argument
-1
/*******************************************************************
利用运算符优先级实现if(...){...}else{...}
无明确返回值的一律返回undefined
undefined,null都将被转换为false
*******************************************************************/
var
a
=
true
a
&&
(alert('true'),1)
||
alert('false')
/*******************************************************************
或者用三目运算符
*******************************************************************/
a
?
alert('true')
:
alert('false')
</script>
&:逻辑与,&&同样可以表示逻辑与;
||:逻辑或,|也可以表示逻辑或;
===:先判断左右两边的数据类型,如果数据类型不一致,直接返回false;
!:逻辑非;
++:自加符号,在原有的基础上加上1;
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”
扩展资料:
1、逻辑运算符&&、 || 和&、| 性能上的比较
逻辑运算符&&|| 中,如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false;
如果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true。而&和|运算符却不是这样的,它们总是要比较两个运算数才得出结果,因而性能上&&和||会比&和|好。
2、功能用法
&&和||只能进行逻辑运算,而&和|除了可以进行"逻辑运算"外,还可以进行位运算。
3、位运算
&和|本是位运算符,之所以可以进行"逻辑运算",是由于JS是无类型的语言、各数据类型可以自由转换这一特性决定的,当用&和|进行"逻辑运算"时,实际上true被转换成1,false被转换成0,再进行逐位运算:
document.write(true &false)//JS,结果为0