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

使用JavaScript学习计算机科学:第3部分(循环)

介绍

假设你的任务是编写一个显示数字 1-100的程序。实现此目的的一种方法是编写 100 个 console.log 语句。但我敢肯定你不会,因为你会厌倦第 9 行或第 10 行。  

每个语句中唯一变化的部分是数字,所以应该有一种方法可以只写一个语句。还有循环。循环让我们在代码块中重复执行一组步骤。  

内容

  • While 循环

  • Do-while 循环

  • 对于循环

  • 数组

  • For-in 循环

  • For-of 循环

  • 审查

  • 资源

While 循环

当某些条件为真时,while 循环将重复执行一组语句。当条件为假时,程序将退出循环。这种循环在执行迭代之前测试条件。迭代是循环体的执行。以下示例不会显示任何内容,因为我们的条件为假。

let hungry = false;

while (hungry) {
    console.log("eat");
}

这是while循环的一般形式:

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

使用 while 循环时要注意的一件事是创建永不结束的循环。发生这种情况是因为条件永远不会变为假。如果它发生在你身上,你的程序就会崩溃。例子:

let hungry = true;

while (hungry) {
    console.log("eat");
}

任务

此循环的主体将执行多少次:

let i = 0;

while (i < 10) {
    console.log("Hello, World");
    i += 1;
}

Do-While 循环

do-while 循环将首先执行语句体,然后检查条件。当您知道要至少运行一次代码时,这种循环很有用。以下示例将显示一次“吃”,即使条件为假。

let hungry = false;

do {
    console.log("eat");
} while (hungry);

这是 do while 循环的一般形式:

do {
    statement;
    statement;
    etc.
} while (condition);

任务

编写一个将显示数字 1-10 的 do-while 循环。

For 循环

for 循环将重复执行代码块特定次数。以下示例显示数字 1–10:

for (let i = 1; i <= 10; i++) {
    console.log(i);
}

这是 for 循环的一般形式:

for (initial; condition; step) {
    statement;
    statement;
    etc.
}

Initial是一个设置变量值的表达式。Condition是一个表达式,必须为真才能执行语句。step是一个增加变量值的表达式

一种编程模式是使用 for 循环来更新变量的值及其自身和新值。此示例将数字 1–10 相加:

let x = 0;

for (let i = 1; i <= 10; i++) {
    x += i;
}

console.log(x)    //55

是一个赋值运算符,将+=值添加回变量。这是所有赋值运算符的列表:

操作员
例子
相等的
+=x += 2
 x = x + 2
-=x -= 2
x = x - 2
*=x *= 2
x = x * 2
/=x /= 2
x = x / 2
%=x %= 2
x = x % 2

任务 

编写一个计算一个数的阶乘的 for 循环。n的因数是从 1 到n的所有整数的乘积例如,4!(4 阶乘)是 1 x 2 x 3 x 4,等于 24。

数组

数组是一个对象,它包含一个项目列表,称为元素,通过它们的索引访问。索引是数组中元素的位置第一个元素位于 0 索引处。以下是一些常见的数组操作。

创建一个空数组:

let arr = [ ];

用值初始化一个数组:

let arr = [1, 2, "Hello", "World"];

从数组中获取一个元素:

let arr = [1, 2, "Hello", "World"];arr[0] //1arr[2] //“你好”

更新数组中的元素:

let arr = [1, 2, "Hello", "World"];arr[2] = 3; //[1, 2, 3, "世界"]

循环数组:

let arr = [1, 2, "Hello", "World"];

for (let i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}

二维数组是以数组为元素的数组。例子:

let arr = [
    [1, 2],
    ["Hello", "World"]
];

console.log(arr[ 0 ][ 1 ]);    //2

这是您将循环遍历数组并显示每个元素的方式:

for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr[i].length; j++) {
        console.log(arr[ i ][ j ]);
    }
}

任务 

在上述 for 循环中,当 i = 1 和 j = 0 时显示什么元素?

For-In 循环

这种循环让我们遍历对象中的键。对象是一种将键映射到值的数据结构。以下是可以对对象执行的一些常见操作。

创建一个空对象:

let obj = { };

用值初始化一个对象:

let obj = {
    foo: "Hello",
    bar: "World"
};

从对象中获取属性:

let obj = {
    foo: "Hello",
    bar: "World"
};

obj.foo;     //"Hello"
obj["foo"];  //"Hello"

更新对象中的属性:

let obj = {
    foo: "Hello",
    bar: "World"
};

obj.foo    = "hi"	
obj["foo"] = "hi"

循环对象的键:

for (let key in obj) {
    console.log(key);
}

任务

给定 obj = {foo: "Hello", bar: "World"},上面的 for 循环显示什么?

循环

这种循环让我们循环遍历可迭代对象的值。可迭代对象的示例是数组和字符串。

循环数组:

let arr = ["foo", "bar", "baz"];

for (let elem of arr) {
    console.log(elem);
}

// foo bar baz

循环一个字符串:

let str = "Hello";

for (let char of str) {
    console.log(char);
}

//'H' 'e' 'l' 'l' 'o'

任务

使用任何循环,编写一个程序来显示这个楼梯模式:

#
  #
    #
      #
        #

审查

循环让我们减少代码中的重复。While 循环让我们重复一个动作,直到条件为假。do-while 循环将至少执行一次。For 循环让我们重复一个动作,直到计数结束。for-in 循环的设计目的是让我们可以访问对象中的键。for-of 循环的设计目的是让我们可以获取可迭代对象的值。 

接下来,在第 4 部分,我们将学习函数。


文章目录
  • 介绍
  • 内容
  • While 循环
    • 任务
  • Do-While 循环
    • 任务
  • For 循环
    • 任务
  • 数组
    • 任务
  • For-In 循环
    • 任务
  • 循环
    • 任务
  • 审查