逻辑“或”运算符 (||)
对两个表达式执行逻辑“或”。
result = expression1 || expression2
如果两个表达式中有一个或两个等于 True,则 result 是 True。(expression1 执行的结果不为null或undefined或0或空串时,则 result 等于 expression1 的返回值,而expression2 就不再执行了)
JScript 使用下面的规则来把非 Boolean 值转换为 Boolean 值:
1、所有对象都被认为是 true
2、字符串当且仅当为空时才被认为是 false
3、null 和 undefined 被认为是 false
4、数字当且仅当为 0 时才是 false
---------------------------------------------------------------
""是最简单的表达式,它不为空、null、undefined、0,因此表达式的值为真(非假)。
分析一下最常见的 if( a>1 || a<10 ){...} ,里面的 if 是怎样执行的呢?假使a等于5,小括号里的表达
式首先 a>1 满足条件,即返回true,至于是不是 a<10 就不在执行。a>1的返回值类型是布尔类型的,刚好满足 if 所
需的参数类型,因此条件语句继续往下执行。
再看:
var a=5;
if( a || b ){...}
小括号里的表达式首先执行 a,其返回值为整数5,即不是0也不是null与undefined,所以或运算表达式忽略了 b 返回 a 的值 5(不是
true也不是false,这点尤需注意),这时相当于 if(5){....},if在判断其参数的返回值类型时把参数值转换为布尔类型,根据规则(如
手册中云)把非布尔类型的值转换为布尔类型,5 的值即为true,因此 if 条件语句继续往下执行。
----------------------------------------------------------------------
再看看实际的应用:
function test(a1,a2){
var x = a2 || a1;
//var x = a2===undefined ? a1 : a2;
alert(x);
}
test("abc");
test("abc","def");
第一次执行 test 时只传了一个参数,因此在 test 内部获取的 a2 恒等于 undefined,即类型属于false,或运算将继续执行双
竖线右边的表达式 a1 ,a1的值为字符串"abc",不是false,因此或运算表达式返回 "abc" 并赋值给 x。
对于此类型的表达方法 a2 || a1 可以这样理解:优先取 a2, a1 排后。按这样的理解,看看下面的:
function test(a1,a2,a3,a4,a5){
var x = a5 || a4 || a3 || a2 || a1;
alert(x);
}
test("abc","def","ghi");
分享到:
相关推荐
5.9_逻辑运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
逻辑或运算符||: 当运算符||的两个运算数都是布尔值,它对这两个运算数执行布尔OR操作。 它先计算第一个运算数,如果这个表达式的值可以被转换成true,那么它就返回左边这个表达式的值。否则计算第二个运算数 即使|...
5.10_成员运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.11_身份运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.13_位运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.6_赋值运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.7_比较运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
一句话区分运算符 | 和 ||,& 和 && ...| 按位或运算符,按二进制位进行”或”运算。运算规则:(有 1 则为 1) |是按位或:先判断条件1,不管条件1是否可以决定结果(这里决定结果为true),都会执行条件2 ||是逻辑或:
在JavaScript中,逻辑与运算符“&&”和逻辑或运算符“||”是常用的运算符,它们通常用于条件语句中,但由于它们的“短路”特性,在很多情况下可以通过它们来精简代码。逻辑与运算符“&&”会在其左操作数为false时...
在本练习题中,涉及到的逻辑运算符是逻辑或(||),即使用条件“语文成绩高于80 || 数学成绩高于90”来决定输出“A”还是“B”。 知识点二:比大小 在编程中,比较大小通常使用比较运算符,如大于(>)、小于(<)...
* 大于或等于运算符(>=):用于对两个信号进行大于或等于比较,例如 `a >= b`。 * 小于运算符(<):用于对两个信号进行小于比较,例如 `a 。 * 小于或等于运算符():用于对两个信号进行小于或等于比较,例如 `a ...
逻辑运算符包括逻辑与(&&)、逻辑或(||)、逻辑非(!)。这些运算符根据其功能和运算规则,在表达式中的优先级和结合性各异。下面详细阐述C语言中逻辑运算符的分类、优先级以及它们的使用。 首先,C语言的运算符...
差一点的if,else: Js代码 代码如下: var add_level = 0; if(add_step == 5){ add_level = 1; } else if(add_step == 10){ add_level = 2; } else if(add_step == 12){ add_level = 3; } else if(add_step == 15){...
本文将要详细介绍逻辑运算符、逻辑表达式、逻辑运算符优先级和闰年问题,涵盖逻辑非、逻辑与、逻辑或的概念和应用,旨在帮助读者深入理解逻辑运算符的使用和应用。 一、逻辑运算符 逻辑运算符是指在编程语言中用于...
C语言中的逻辑运算符用于处理布尔值(真/假)或表示真假的整数值(通常0代表假,非0代表真)。这些运算符帮助程序员根据多个条件组合来决定程序流程。 **1. 逻辑与 `&&`** 逻辑与运算符`&&`用于判断两个条件是否...
学习电子方面知识,C语言是非常主要的一门编程语言之一,如下简单总结下运算符。 逻辑运算符用来求某个条件式的逻辑值。... 逻辑非(NOT) 逻辑表达式:用逻辑运算符将关系表达式或逻辑量连接起来。逻辑表......
5.5_运算符号|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
根据提供的文件信息,本篇文章将重点讲解Java中的运算符部分,包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符以及字符串连接运算符等内容,并结合实际例子进行深入剖析。 ### 3.4 运算符 #### ...
14.11_Python_3.8_新增海象运算符|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生