javascript:逻辑表达式

来源:互联网 发布:matlab求矩阵乘法 编辑:程序博客网 时间:2024/06/09 15:53

1.逻辑与&&:

运算符首先计算左操作数的值,即首先计算“&&”左侧表达式。如果计算结果是假值,那么整个表达式的结果一定也是假值,因此“&&”这时简单地返回左操作数的值,而不会对右操作数进行计算。

反过来讲,如果左操作数是真值,那么整个表达式的结果则依赖于右操作数的值,如果右操作数是真值,那么整个表达式的值一定是真值;如果右操作数是假值,那么整个表达式的值一定是假值。因此,但左操作数是真值时,“&&”运算符将计算右操作数的值并将返回作为整个表达式的计算结果:

var o = { x : 1};

var p = null;

o && o.x           //=>1:o 是真值,因此返回值为o.x

p && p.x           //=>null是假值,因此将其返回,而并不去计算p.x

2.逻辑或||:

和与一样,它会首先计算第一个操作数的值,也就是说会首先计算左侧的表达式。如果计算结果为真值,那么返回这个真值,否则,再计算第二个操作数的值,即计算右侧表达式,并返回这个表达式的结果。

这个运算符最常用的方式是用来从一组备选表达式中选出第一个真值表达式:

var max = max_width || preferences.max_width || 500;

//如果max_width已经定义,则使用它,否则从preferences对象中查找max_width属性,如果没有定义他,则使用一个写死的常量。

3.逻辑非!:

是一元运算符,放置在一个单独的操作数之前。目的是将操作数的布尔值进行求反。

没什么可说的,优先级很高。

0 0