JavaScript中的逻辑判断符&&、||与!介绍
作者:bea
与C、Java等语言一样,JavaScript中可以用&&、||、!三个逻辑判断符来对boolean值进行逻辑判断。与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。 逻辑与&&的处理规则 JavaScript中&&的处理规则是这样的: 1.判断第一个值是否为Falsy。如果为Falsy,则直接返回第一个值(不
与C、Java等语言一样,JavaScript中可以用&&、||、!三个逻辑判断符来对boolean值进行逻辑判断。与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。
逻辑与&&的处理规则
JavaScript中&&的处理规则是这样的:
1.判断第一个值是否为Falsy。如果为Falsy,则直接返回第一个值(不一定为boolean类型)。 2.如果第一个值为Truthy,则直接返回第二个值(不一定为boolean类型)。
代码如下:
var o = {x:1, y:2};
console.log(o && o.y);//2
console.log(null && x);//null
逻辑或||的处理规则
与&&操作符类似,JavaScript中||的处理规则是这样的:
1.判断第一个值是否为Truthy。如果为Truthy,则直接返回第一个值(不一定为boolean类型)。 2.如果第一个值为Falsy,则直接返回第二个值(不一定为boolean类型)。
||操作符的这种行为使得JavaScript中一些快捷写法成为现实:
1. 从一系列值中获取第一个Truthy值:
代码如下:
var a = null;
var b = 42;
var v = a || b || 100;
console.log(v);//42
2. 对函数中的参数赋以默认值:
代码如下:
function test(p){
p = p || {};//if p is not passed, make it an empty object.
}
与&&和||不同,!操作符的行为与C、Java等语言是一致的,只返回boolean值(true或false)。
有用 | 无用
逻辑与&&的处理规则
JavaScript中&&的处理规则是这样的:
1.判断第一个值是否为Falsy。如果为Falsy,则直接返回第一个值(不一定为boolean类型)。 2.如果第一个值为Truthy,则直接返回第二个值(不一定为boolean类型)。
代码如下:
var o = {x:1, y:2};
console.log(o && o.y);//2
console.log(null && x);//null
逻辑或||的处理规则
与&&操作符类似,JavaScript中||的处理规则是这样的:
1.判断第一个值是否为Truthy。如果为Truthy,则直接返回第一个值(不一定为boolean类型)。 2.如果第一个值为Falsy,则直接返回第二个值(不一定为boolean类型)。
||操作符的这种行为使得JavaScript中一些快捷写法成为现实:
1. 从一系列值中获取第一个Truthy值:
代码如下:
var a = null;
var b = 42;
var v = a || b || 100;
console.log(v);//42
2. 对函数中的参数赋以默认值:
代码如下:
function test(p){
p = p || {};//if p is not passed, make it an empty object.
}
与&&和||不同,!操作符的行为与C、Java等语言是一致的,只返回boolean值(true或false)。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 分享一个常用的javascript静态类
- 兼容Firefox的Javascript XSLT 处理XML文件
- 使用jquery+CSS实现控制打印样式
- 浅谈javascript中字符串String与数组Array
- jQuery中[attribute!=value]选择器用法实例
- JavaScript中的Primitive对象封装介绍
- JavaScript中的值类型转换介绍
- javascript实现滑动解锁功能
- JavaScript中number转换成string介绍
- JavaScript中string转换成number介绍
- JavaScript中的object转换函数toString()与valueOf()介绍
- JavaScript中的object转换成number或string规则介绍
- javascript 事件处理示例分享
- JavaScript中的变量作用域介绍
- JavaScript中的变量定义与储存介绍
- JavaScript中的操作符==与===介绍
- jQuery中[attribute]选择器用法实例
- JavaScript中的比较操作符>、<、>=、<=介绍
- javascript 操作符(~、&、|、^、<<、>>)使用案例