当前位置: 首页 > article >正文

第二部分:基础知识 5.控制流 --[JavaScript 新手村:开启编程之旅的第一步]

第二部分:基础知识 5.控制流 --[JavaScript 新手村:开启编程之旅的第一步]

JavaScript 是一种广泛使用的编程语言,尤其在网页开发中。控制流(Control Flow)是指程序执行的顺序。通过控制流语句,你可以控制代码按照特定的逻辑顺序执行,而不是从上到下依次执行每一行。

1.条件语句:

  • if 语句:根据一个或多个条件来决定是否执行一段代码。
  • elseelse if:与 if 一起使用,提供当条件不满足时的替代路径。
  • 三元运算符 (condition ? exprIfTrue : exprIfFalse):用于简洁地表达简单的条件选择。

下面是使用 JavaScript 条件语句的三个示例。每个示例都展示了不同的条件逻辑和用法。

示例 1: 使用 ifelse

这个例子检查一个数字是正数、负数还是零。

let number = -5;

if (number > 0) {
    console.log("这是一个正数");
} else if (number < 0) {
    console.log("这是一个负数");
} else {
    console.log("这是零");
}

在这里插入图片描述

示例 2: 使用三元运算符

这里我们使用三元运算符来简化简单的条件判断。这个例子用于检查用户是否为成年人。

let age = 20;
let isAdult = age >= 18 ? "成年人" : "未成年人";

console.log(isAdult);

在这里插入图片描述

示例 3: 使用 switch 语句

switch 语句可以用来替代多个 else if 语句,当有多个可能的离散值时特别有用。这个例子根据用户的输入选择语言设置。

let language = 'en';

switch (language) {
    case 'en':
        console.log("Hello, world!");
        break;
    case 'es':
        console.log("¡Hola, mundo!");
        break;
    case 'fr':
        console.log("Bonjour, le monde!");
        break;
    default:
        console.log("Language not supported.");
}

以上三个示例展示了如何在不同的场景下使用条件语句来控制程序流。通过这些结构,你可以让代码更灵活地响应不同的输入或状态。

在这里插入图片描述

2.循环:

  • for 循环:用于已知迭代次数的情况下重复执行代码块。
  • while 循环:只要指定条件为真就重复执行代码块。
  • do...while 循环:类似于 while,但是它会在检查条件之前至少执行一次循环体。
  • for...in 循环:遍历对象的可枚举属性。
  • for...of 循环:遍历可迭代对象(如数组、字符串等)的值。

当然,以下是使用 JavaScript 中不同循环语句的五个示例。每个示例展示了不同的循环逻辑和用法。

示例 1: 使用 for 循环打印数字

这个例子使用 for 循环来打印从 0 到 4 的数字。

for (let i = 0; i < 5; i++) {
    console.log(i);
}

在这里插入图片描述

示例 2: 使用 while 循环计算总和

这里我们使用 while 循环来计算从 1 到 10 的整数之和。

let sum = 0;
let num = 1;

while (num <= 10) {
    sum += num;
    num++;
}

console.log("总和是: " + sum);

在这里插入图片描述

示例 3: 使用 do...while 循环确保至少执行一次

这个例子使用 do...while 循环来获取用户输入,并确保代码块至少被执行一次。

let userResponse;
let responseValid = false;

do {
    userResponse = prompt("请输入'yes'或'no':");
    if (userResponse === 'yes' || userResponse === 'no') {
        responseValid = true;
    }
} while (!responseValid);

console.log("你输入了: " + userResponse);

在这里插入图片描述

示例 4: 使用 for...in 遍历对象属性

这里我们使用 for...in 循环遍历一个对象的所有可枚举属性。

const person = {
    name: "Alice",
    age: 25,
    city: "Beijing"
};

for (let prop in person) {
    console.log(`${prop}: ${person[prop]}`);
}

在这里插入图片描述

示例 5: 使用 for...of 遍历数组元素

最后,这个例子使用 for...of 循环遍历数组中的每个元素。

const numbers = [1, 2, 3, 4, 5];

for (let number of numbers) {
    console.log(number * number); // 打印每个数字的平方
}

在这里插入图片描述

这些示例展示了如何在不同的场景中使用循环语句来重复执行代码块,处理集合数据(如数组、对象),以及根据条件多次执行特定任务。通过这些结构,你可以让代码更灵活地处理一系列的数据或者重复性任务。

3.跳转语句:

  • break:立即退出最近的循环或switch语句。
  • continue:跳过当前循环的剩余部分,并继续下一次循环。
  • return:从函数中返回数据并结束函数的执行。

当然,下面是使用 JavaScript 中不同跳转语句的三个示例。每个示例展示了如何在特定情况下改变代码的执行流程。

示例 1: 使用 break 语句

这个例子展示了如何使用 break 语句来提前退出一个循环。这里我们创建了一个简单的 for 循环,当遇到特定条件时,使用 break 语句来立即退出循环。

for (let i = 0; i < 10; i++) {
    if (i === 5) {
        console.log("找到了数字5,退出循环");
        break;
    }
    console.log("当前数字是: " + i);
}

在这里插入图片描述

示例 2: 使用 continue 语句

在这个例子中,我们将使用 continue 语句来跳过当前循环体中的剩余语句,并继续下一次循环。这里我们打印奇数,遇到偶数时跳过它们。

for (let i = 0; i <= 10; i++) {
    if (i % 2 === 0) {
        continue; // 如果是偶数,跳过本次循环剩下的部分
    }
    console.log("奇数是: " + i);
}

在这里插入图片描述

示例 3: 使用 return 语句从函数中返回

最后一个例子展示了如何使用 return 语句从函数中提前返回,这不仅可以用来结束函数的执行,还可以返回一个值给调用者。这里我们定义了一个函数,如果参数是一个正数,则返回它的平方;否则,直接返回 -1。

function squareIfPositive(num) {
    if (num > 0) {
        return num * num;
    } else {
        return -1;
    }
}

console.log(squareIfPositive(4)); // 输出 16
console.log(squareIfPositive(-3)); // 输出 -1

在这里插入图片描述

这些示例展示了如何通过使用 breakcontinuereturn 语句来控制代码流,从而让程序能够根据不同的情况灵活地响应。这种能力对于编写高效且逻辑严密的代码至关重要。


http://www.kler.cn/a/427890.html

相关文章:

  • 【leetcode详解】T3175(一点反思)
  • 事务03之MVCC机制
  • AI编程:如何编写提示词
  • 【设计测试用例自动化测试性能测试 实战篇】
  • 【开源免费】基于SpringBoot+Vue.JS公交线路查询系统(JAVA毕业设计)
  • Java---猜数字游戏
  • 【趋势红蓝交易】主图指标操盘技术图文展示,注意要点,通达信炒股软件指标
  • Android 按两下power键不打开相机改为打开手电筒
  • 第三周作业
  • 如何在MySQL中开启死锁日志及查看日志
  • 超详细!!关于Docker的访问仓库操作
  • TCP Analysis Flags 之 TCP Spurious Retransmission
  • Apache Dolphinscheduler可视化 DAG 工作流任务调度系统
  • 【Elasticsearch】ES+MySQL实现迷糊搜索
  • 【062B】基于51单片机无线病房呼叫系统(+时间)【Keil程序+报告+原理图】
  • 使用CIFS挂载nas到centos
  • Android仿美团左右联动购物列表
  • 数据分析类论文通过stata进行数据预处理(一)
  • 数据仓库全生命周期管理
  • 怎么实现邮件营销自动化?
  • 数据结构-查找
  • 基于 Apache Dolphinscheduler3.1.9中的Task 处理流程解析
  • Qt之第三方库‌QXlsx使用(三)
  • Dockerfile容器镜像构建技术
  • 13.在 Vue 3 中使用OpenLayers加载鹰眼控件示例教程
  • PDF解析方法详解 JavaPython 原创