Boolean强制转换:除了NaN、null、""、undefined、0、function这几个为false外,其他皆为true。
短路运算的符号: || && ! 或与非。
短路运算的原理:当有多个表达式时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。
短路运算的规则:
&& 找假,先看第一个表达式的值,如果第一个表达式不是布尔类型,强制转换成布尔类型,转换若后为false,则返回第一个值(不是被强制转换后的值),否则返回第二个值
|| 找真,先看第一个表达式的值,如果第一个表达式不是布尔类型,强制转换成布尔类型,转换若后为true,则返回第一个值(不是被强制转换后的值),否则返回第二个值
! 非, 看表达式的值,如果表达式的值不是布尔类型,强制转换成布尔类型,若为true,则返回false,否则返回true。
短路运算的例子:
<!DOCTYPE html> <meta charset="UTF-8"> <script> console.log("短路运算的&和|只比较第一个表达式,并由第一个表达式和运算符号决定返回哪个值"); console.log("&&测试"); console.log("&&找假"); console.log(true&&true); console.log(true&&false); console.log(false&&true); console.log(false&&false); console.log(true&&"abs");//直接显示第二个表达式的值abs console.log(false&&"abs");//直接显示第一个表达式的值false console.log(""&&"abs");//什么都没显示,因为第一个表达式经Boolean强制转换后是false,所以显示第一个值 console.log("abs"&&"qwe");//直接显示qwe console.log("||测试"); console.log("||找真"); console.log(true||true); console.log(true||false); console.log(false||true); console.log(false||false); console.log(true||"abs");//直接显示true console.log(false||"abs");//直接显示abs console.log(""||"abs");//显示abs console.log("abs"||"qwe");//显示abs console.log("!测试"); console.log(!true); console.log(!false); console.log(!"abs");//字符串abs经boolean强制转换后是true,!true是false console.log(!"");//字符串经boolean强制转换后是false, !false是true </script>
效果图:
相关推荐
本文实例分析了JS逻辑运算符短路操作。分享给大家供大家参考,具体如下: js逻辑运算符有三个:逻辑非!、逻辑与&&、逻辑或||。 所谓短路操作就是,当&&的第一个操作数的值是false时,直接返回第一个操作数的值,不再...
JavaScript中的操作符运算在编程实践中经常遇到,但如果不熟悉它们的工作原理,很容易导致错误。本文主要探讨了JavaScript中几个易出错的操作符类别,包括算术运算符、比较运算符、逻辑运算符以及赋值和一元运算符的...
短路表达式是一种特殊的表达式执行方式,它利用了JavaScript逻辑运算符"&&"和"||"的特性,即在运算过程中,如果根据已知的操作数可以确定最终表达式的结果,则后续的操作数将不再进行计算。这种现象称为短路求值。 ...
- **C++/C#/Java/JavaScript**:这些语言都支持短路计算,并且遵循上述逻辑。 - **Python**:Python的`and`和`or`操作符也具有短路特性,但它们的行为略有不同,返回的是最后一个表达式的值,而非简单的真或假。...
在JavaScript(JS)编程中,逻辑运算符||(或运算符)和&&(与运算符)是常用的操作符,它们在执行逻辑运算时会根据自身的特性进行短路操作,这种操作可以用来简化代码,实现一些常见的编程模式。短路原理是指在逻辑...
这个方法基于这两个运算符的短路行为,即在进行逻辑运算时,一旦结果可以确定,就会停止进一步的计算。 首先,我们来看`&&`运算符。当两个表达式用`&&`连接时,如果第一个表达式的值为`false`,那么整个表达式的...
- 短路运算:在使用 `||` 时,如果左侧的操作数为真,则右侧的操作数不会被计算。 - **位运算符**:支持 `>>`(右移)、`>>>`(无符号右移)、`(左移)等位操作。 综上所述,这些知识点涵盖了 JavaScript 的...
在JavaScript编程语言中,短路逻辑是逻辑运算符`&&`(逻辑与)和`||`(逻辑或)的一种特性。这种特性使得程序在某些情况下能够优化性能,因为它们可以根据第一个操作数的值来决定是否需要评估第二个操作数。在这个...
对承诺进行短路时执行逻辑AND和OR运算。 给定一个承诺数组,其值可能导致短路的承诺被解决后,其值将被使用并返回,其余的承诺将被忽略。 安装 npm i async-short-circuit 用法 const { asyncAnd , asyncOr } = ...
5. **短路运算**:在`&&`和`||`运算符中,如果前一个条件已能决定整个表达式的结果,那么就不会再评估后面的条件,这被称为短路运算。 6. **嵌套条件**:条件语句可以嵌套在其他条件语句中,以实现更复杂的逻辑。 ...
运算符方面,JavaScript 支持算术运算(如 +, -, *, /, %)、递增递减运算(如 ++n, n++, --n, n--)以及关系运算。在关系运算中,所有类型都会被转换为数字进行比较。模运算 `%` 返回的是除法的余数,可用于判断...
JS(JavaScript)是广泛用于网页开发的一种编程语言。在日常开发中,掌握一些实用的编程小技巧,不仅能提高开发效率,还可以使代码更加优雅和健壮。接下来,我们将详细介绍一些JS中的小技巧,这些技巧有助于提升编程...
#### 真假值与短路运算 JavaScript中存在一些特殊的“假”值:空字符串`""`、数字`0`、`null`、`undefined`以及`NaN`。当进行逻辑或(`||`)运算时,如果左侧的操作数被视为“假”,则返回右侧的操作数;反之,返回...
2. **逻辑运算**:理解&&(逻辑与)和||(逻辑或)的短路行为。 3. **条件表达式**:使用三元运算符进行条件判断。 4. **嵌套if**:在一个if语句内部再使用if语句。 5. **switch语句**:作为if...else的替代,处理多...
4. 逻辑运算与短路运算:`i&&(++i)`中的`&&`是逻辑与运算符,如果`i`为真,则执行`++i`,但因为`i`初始为`0`,所以`i&&`这部分结果为`false`,不会执行后面的`++i`,因此`j`的值为`0`。 5. do...while循环:这个...
- **短路运算**:在`&&`或`||`中,如果第一个表达式已经能确定整个表达式的真假,则后续表达式不会被计算。 - 示例:`var a = false; a && console.log('This will not be logged');` - **运算顺序**:前缀与后缀...