• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

使用JavaScript学习计算机科学:第2部分(条件)

介绍

在本系列的第一部分中,我们的程序被编写为一系列语句。这种结构严重限制了我们的能力。假设您正在设计一个需要登录用户的程序。如果用户提供正确的凭据,您可能希望将他们引导到一个页面,如果他们未注册,则将其发送到另一个页面。 

为此,您需要使用 if 语句之类的决策结构。这将仅在某些条件下执行操作。如果条件不存在,则不执行操作。在本教程中,您将了解有关条件的所有信息。

内容

  • 如果语句

  • 关系运算符

  • if-else 语句

  • 切换语句

  • 逻辑运算符

  • 审查

  • 资源

如果语句

如果条件为真,则单个 if 语句将执行操作。如果条件为假,程序将执行 if 块之外的下一条语句。在下面的例子中,如果表达式isRaining()为真,那么我们将putOnCoat()and putOnRainboots()then goOutside()如果isRaining() 为假,程序将只执行goOutside()

if (isRaining) {
    putOnCoat();
    putOnRainboots();
}

goOutside();

这是编写 if 语句的一般形式:

if (condition) {
    statement;
    statement;
    etc.
}

条件_是一个值为 true 或 false 的表达式。真或假的表达式称为布尔表达式。布尔表达式由关系运算符组成。 

关系运算符

关系运算符比较两个值并确定它们之间的关系是真还是假。它们可用于为我们的条件创建布尔表达式。以下是带有示例的关系运算符列表:

操作员意义例子意义
==平等x == yx 等于 y 吗?
===
严格平等 x === yx 在值和类型上是否等于 y?
!=
不等式
x != y
x不等于y吗?
!==
严格不等式
x !== y
x 在值和类型上不等于 y 吗?
>比...更棒
x > y
x 是否大于 y?
<少于
x < y
x 小于 y 吗?
>=大于或等于
x >= y
x 是否大于或等于 y?
<=小于或等于
x <= y
x 是否小于或等于 y?

重要的是要注意相等运算符==和严格相等运算符之间的区别===例如,表达式2 == "2"为真。但表达2 === "2"是错误的。在第二个示例中,两个值是不同的数据类型,这就是表达式为假的原因。最佳做法是使用===or !==

以下示例将显示消息“您获得 A”。

let grade = 93;

if (grade >= 90) {
    console.log("You get an A");
}

任务

表达式 5 > 3 的值是多少?6!=“6”?

If-Else 语句

如果条件为真,if-else 语句将执行一个语句块,如果条件为假,则执行另一个语句块。以下示例将显示消息“有效用户名”,因为条件为真。

let username = "alberta";

if (username === "alberta") {
    console.log("valid username");
} else {
    console.log("Incorrect username. Try again.");
}

这是 if-else 语句的一般形式:

if (condition) {
    statement;
    statement;
    etc.
} else {
    statement;
    statement;
    etc.
}

任务

 这个程序的输出是什么:

let isLoggedIn = false;

if (isLoggedIn) {
    console.log("Welcome");
} else {
    console.log("You are not logged in");
}

也可以检查多个条件。例子:

let num = 3;

if (num ===  1) {
    console.log("I");
} else if (num === 2) {
    console.log("II");
} else if (num === 3) {
    console.log("III");
} else if (num === 4) {
    console.log("IV");
} else if (num === 5) {
    console.log("V");
} else {
    console.log("Invalid input");
}

这是编写多个 if-else-if 语句的一般形式:

if (condition1) {
    statement;
    statement;
    etc.
} else if (condition2) {
    statement;
    statement;
    etc.
} else {
    statement;
    statement;
    etc.
}

切换语句

switch 语句也用于有条件地执行程序的某些部分。以下示例将我们的罗马数字转换器实现为 switch 语句:

let num = 3;

switch (num) {
    case 1:
        console.log("I");
        break;
    case 2:
        console.log("II");
        break;
    case 3:
        console.log("III");
        break;
    case 4:
       console.log("IV");
        break;
    case 5:
       console.log("V");
       break;
    default:
        console.log("Invalid input");
}

这是 switch 语句的一般形式:

switch (expression) {
    case value1:
        statement;
        statement;
        etc.
        break;
    case value2:
        statement;
        statement;
        etc.
        break;
    default:
        statement;
        statement;
        etc.
}

每个案例代表我们的表达式可以采用的一个值。只有情况为真的代码块才会执行。我们在代码块的末尾包含一个 break 语句,以便程序退出 switch 语句并且不执行任何其他情况。当其他情况都不为真时,将执行默认情况。    

任务 

编写一个 switch 语句,在给定数字的情况下显示星期几。例如,1 = 星期日,2 = 星期一,等等。

逻辑运算符

and 运算符&& 和 or 运算符||允许我们连接两个布尔表达式。not 运算符! 否定表达式。为了说明逻辑运算符的工作原理,我们将看一个真值表。真值表包含与运算符一起使用的所有值组合。我用P代表左边的表达式,用Q代表右边的表达式。  

&&真值表:

PQP && Q
truetruetrue
true
false
false
false
true
false
false
falsefalse

我们阅读了每一行的表格。第一行告诉我们,当P为真且Q为真时,P && Q为真。以下示例测试 82 是否介于 60 和 100 之间。

  • let x = 82;

  • x >= 60 && x <= 100

  • P: x >= 60 is true

  • Q: x <= 100 is true

  • P && Q: true && true

|| truth table:

PQP || Q
true
true
true
true
false
true
false
truetrue
false
false
false

此示例测试 82 是否在 60–100 范围之外:

  • let x = 82;

  • x < 60 || x > 100

  • P: x < 60 is false

  • Q: x > 100 is false

  • P || Q: false || false

! truth table:

P!P
true
false
false
true

Example:

  • x = 82

  • P: x > 0 is true

  • !P: false

Task

Fill in the table with the missing values.

PQ!P!Q!P && !Q
!P || !Q
true
true




true
false




false
true




false
false




    关于逻辑运算符的有用知识是,如果运算符左侧的&&表达式为假,则不会检查右侧的表达式,因为整个语句为假。如果运算符左侧的||表达式为真,则不会检查右侧的表达式,因为整个语句都为真。

审查

程序可以使用布尔表达式有条件地执行代码块。布尔表达式是使用关系运算符编写的。逻辑运算符允许我们组合布尔表达式。 

如果满足条件,则单个 if 语句为程序提供了另一种路径。如果条件为假,if-else 语句提供第二个操作过程。if-else-if 语句允许我们测试多个条件。当您有多个条件要测试时,switch 语句可以用作 if-else-if 语句的替代方法。 

接下来,在第 3 部分中,我们将讨论循环。


文章目录
  • 介绍
  • 内容
  • 如果语句
  • 关系运算符
    • 任务
  • If-Else 语句
    • 任务
  • 切换语句
    • 任务
  • 逻辑运算符
    • Task
  • 审查