Js基础知识第九篇逻辑运算符(与或⾮)JavaScript有三个逻辑运算符: || (或),&&(与),!(⾮)
⼀、|| (或)
总结起来就是有真就真,全假才假。只要有⼀个为真结果就是真,两个都是假结果才假。
如果操作符不是布尔值,那么他将被转换为布尔值来参与运算,例如数字作为true处理 ,数字0作为false
或值运算寻第⼀个真值
result = value1 || value2 || value3;
执⾏步骤:
a.从左到右依次计算操作数
b.处理每⼀个操作数时,都将其转换为布尔值。如果是true,就停⽌计算,返回这个操作数发的初始值。
c.如果所有的操作数都被计算过(也就是转换结果都是false),则返回最后⼀个操作数。
返回的值是原始操作数的类型,不会做布尔转换
javascript的特性
1.获取变量列表或者⼆表达式中的第⼀个真值
如果所有的变量都是假值,结果就是“SuperCoder”
2.短路求值
这⾥指的是, ||  对其参数进⾏处理,直到达到第⼀个真值,然后⽴刻返回该值,⽽⽆需处理其他参数。
如果操作数不仅仅是⼀个值,⽽是⼀个有副作⽤的表达式,例如变量赋值或函数调⽤,那么这⼀特性的重要性就显⽽易见在下⾯这个例⼦当中只会打印第⼆条信息
有时,⼈们利⽤这个特性,只在左侧的条件为假的时候才执⾏。
⼆、&&(与)
有假全假,都真则真。当两个操作数都是真才会返回true,否则有⼀个是假,结果返回false。
同或运算⼀样,与运算的操作数可以是任意类型的值:
结果是不会有弹窗
与运算寻第⼀个假值(对于给出多个参与运算的值)
a.从左到右⼀次计算操作数
b.在处理每⼀个操作数时,都将其装换为布尔值。如果结果是false,就停⽌计算,返回这个操作数的初始值。
c.如果所有的操作数都被计算过(假如都是真值),则返回最后⼀个操作数
总的来说就是,与运算返回第⼀个假值,如果没有假值就返回最后⼀个值
多值串联
所以代码 a && b || c && d 跟下⾯加了括号的表达式⼀样
(a && b) || (c && d)
三、!(⾮)
逻辑⾮运算符接受⼀个参数,并开始如下运作
1.将操作数转化为布尔型:true/false
2.返回相反的值
两个⾮运算!!有时候⽤来将某个值转换为布尔型类型
当然还有⼀个⽅法也可以做到上述的转换,那就是
知识检验
1.
结果是先是1,然后是2
2.
结果是:1,然后undefined

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。