学科分类
目录
JavaScript网页编程

逻辑运算符

逻辑运算符用于对布尔值进行运算,其返回值也是布尔值。在实际开发中,逻辑运算符经常用于多个条件的判断。常用的逻辑运算符如表1所示。

表1 逻辑运算符

运算符 运算 示例 结果
&& a && b a和b都为true,结果为true,否则为false
|| a || b a和b中至少有一个为true,则结果为true,否则为false
! !a 若a为false,结果为true,否则相反

接下来我们通过代码演示逻辑运算符的使用。

// 逻辑“与”

var res = 2 > 1 && 3 > 1;  // true && true

console.log(res);      // 输出结果:true

var res = 2 > 1 && 3 < 1;  // true && false

console.log(res);      // 输出结果:false

// 逻辑“或”

var res = 2 > 3 || 1 < 2;  // false || true

console.log(res);      // 输出结果:true

var res = 2 > 3 || 1 > 2;  // false || false

console.log(res);      // 输出结果:false

// 逻辑“非”(取反)

console.log(!res);      // 输出结果:true

逻辑运算符在使用时,是从左到右的顺序进行求值,因此运算时需要注意,可能会出现“短路”的情况,具体如下所示。

(1)使用“&&”连接两个表达式,语法为“表达式1 && 表达式2”。如果表达式1的值为true,则返回表达式2的值,如果表达式1的值为false,则返回false。

(2)使用“||”连接两个表达式,语法为“表达式1 || 表达式2”。如果表达式1的值为true,则返回true,如果表达式1的值为false,则返回表达式2的值。

为了使读者更好地理解,下面我们通过代码进行演示。

// “短路”效果演示

console.log(123 && 456);         // 输出结果:456

console.log(0 && 456);            // 输出结果:0

console.log(0 && 1 + 2 && 456 - 56789);   // 输出结果:0

console.log(123 || 456);         // 输出结果:123

console.log(0 || 456);            // 输出结果:456

// “与”运算时,表达式1为false,则表达式2不执行

var num = 0; 

console.log(123 && num++);          // 输出结果:0

console.log(num);              // 输出结果:1

console.log(0 && num++);         // 输出结果:0

console.log(num);              // 输出结果:1

// “或”运算时,表达式1为true,则表达式2不执行

var num = 0; 

console.log(123 || num++);          // 输出结果:123

console.log(num);              // 输出结果:0

console.log(0 || num++);         // 输出结果:0

console.log(num);              // 输出结果:1
点击此处
隐藏目录