JavaScript中的逻辑判断符--与!介绍
与C、Java等语言一样,JavaScript中可以用&&、||、!三个逻辑判断符来对boolean值进行逻辑判断。本文是本站小编搜索整理的关于逻辑与&&的处理规则、逻辑或||的处理规则、!操作符,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网!
与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。
逻辑与&&的处理规则
JavaScript中&&的处理规则是这样的.:
1.判断第一个值是否为Falsy。如果为Falsy,则直接返回第一个值(不一定为boolean类型)。
2.如果第一个值为Truthy,则直接返回第二个值(不一定为boolean类型)。
代码如下:
var o = {x:1, y:2};
(o && o.y);//2
(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;
(v);//42
2. 对函数中的参数赋以默认值:
代码如下:
function test(p){
p = p || {};//if p is not passed, make it an empty object.
}
与&&和||不同,!操作符的行为与C、Java等语言是一致的,只返回boolean值(true或false)。
-
java的String=a; a==null和a.equals(null)这两个判断有什么区别
1、String的==与equal()在对字符串的相等判断,==判断的是地址是否相同,equal()判断的是字符值是否相同。大多数时候==跟equal()的结果都是相同的。这是因为String对象是不变模式的,如果你不是明确地new一个String对象,Java对于String对象的保存默认的是会把新生成...
-
java中set接口的使用方法
java中的set接口有如下的特点:不允许出现重复元素;集合中的元素位置无顺序;有且只有一个值为null的元素。因为java中的set接口模仿了数学上的set抽象,所以,对应的数学上set的特性为:互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。无序性:一个...
-
理解java中的关键字
synchronized关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者CD等),有的话要等正在使用这个方法的线程B(或者CD)运行完这个方法后再运行此线程A,没有的话,直接运行它包括两种用法:synchronized方...
-
2017年计算机java提分练习题
学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来。以下是小编为大家搜索整理的2017年计算机java提分练习题,希望对大家有所帮助!更多精彩内容请及时关注我们应届毕业生考试网!1).下列关于for循环和while循环的说法中哪个是正确的?e循环能实现的操作,for循环都能实现...