JavaScript少儿编程教程-第12课-逻辑操作符-少儿编程教育网

JavaScript少儿编程教程-目录

诸如Gmail、Facebook和Twitter等Web站点,都使用JavaScript使得发送邮件、发布评论或浏览We…

·Boolean类型

现在来介绍Boolean类型。Boolean只有一个值,不是true(真)就是false(假)。例如,一个简单的布尔表达式如下所示:

var javascriptIsCool = true;

javascriptIsCool;

true

这个示例中,我们创建了一个新的名为javascriptIsCool的变量,并且把Boolean值true赋给它。在下一行中,我们得到javascriptIsCool的值,当然是true。

·逻辑操作符

就像可以用算术操作符(+、—、*、/等)把数字组合起来一样,我们也可以用布尔操作符把布尔值组合起来。当用布尔操作符组合布尔值时,结果总是另一个布尔值(true或false)

JavaScript中的3个主要布尔操作符是&&、||和!。它们看上去有点奇怪,但是稍加练习,用起来并不难。我们试试看。

1、&&(与)

&&表示“与”。当读出声的时候,人们将其读作“and”“andand”或者“and符和and符”(and符是字符&的名字)。使用&&操作符来判断两个布尔值是否都为真。

例如,在去学校前,你想要确认是否已经洗澡并背上书包,如果两者都为真,就可以去上学,如果有一个为假或者两个都为假,就不能离开家门。

var hadShower = true;

var hasBackpack = false;

hadShower && hasBackpack;

false

这里,把变量hadShower设置为true,把变量hasBackpack设置为false。当输入hadShower&&hasBackpack时,实际上是在问JavaScript“这两个值都是true吗?。既然它们不是都为true(没有背上书包),那么JavaScript会返回false(还没有为上学做好准备)。

再试一次,这次把两个值都设置为true:

JavaScript现在告诉我们hadShower&&hasBackpack为true。你已经为上学做好准备。

2、||(或)

布尔操作符||表示“或”,可以读作“or”“or-or”,但也有人称之为“管道符”,因为程序员将|字符称为管道。使用该操作符可以判断两个布尔值中是否有一个为真。

例如,假设还是准备去上学,需要带一份水果作为午餐,但是既可以带苹果,也可以带橙子,或者两者都带。可以用JavaScript判断是否至少带了一份水果,如下所示:

var hasApple true;

var hasOrange false;

hasApple || hasOrange;

true

如果hasApple是true或者hasOrange是true,或者两个都是true,则hasApple||hasOrange为true。但是如果两个都是false,则结果为false(没有带任何水果)。

3、!(非)

!表示“非”。可以称之为“not”,但很多人称之为“惊叹号”。使用它把假转换成真,或者把真转换成假。这对于值的取反很有帮助。例如:

var isWeekend = true;

var needToShowerToday = !isWeekend;

needToShowerToday;

false

这个示例中,把变量isWeekend设置为true。然后把变量needToShower Today设置为!isWeekend。“非”把这个值转换成它的相反值,所以如果isWeekend是true,那么!isWeekend就是false。所以,当查看needToShower Today的值时,会得到false(今天不需要洗澡,因为今天是周末)。

因为needToShower Today是false,所以!needToShower Today就会为true。

needToShowerToday;

false

!needToShowerToday;

true

换句话讲,你今天真的不需要洗澡。

·组合逻辑操作符

当把逻辑操作符组合到一起时,它们变得有趣起来。例如,今天不是周末,需要去上学,你已经洗了澡并且带了一个苹果或者一个橙子,我们可以用JavaScript来检测所有这些是否为真,如下所示:

var isWeekend =false;

var hadShower = true;

var hasApple =false;

var hasOrange = true;

var shouldGoToSchool = !isWeekend && hadShower && (hasApple || hasOrange);

shouldGoToSchool;

true

在这个示例中,今天不是周末,你已经洗了澡,你没有带苹果但是带了一个橙子,所以你可以上学去了。

hasApple||hasOrange放在圆括号中,因为我们想要JavaScript确保这部分先执行。就像JavaScript会先计算*再计算+ 一样,在逻辑语句中,也会先计算&&再计算||。