js利用与或运算符优先级实现if else条件判断表达式

JavaScript010

js利用与或运算符优先级实现if else条件判断表达式,第1张

复制代码

代码如下:

<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