JavaScript中的控制流语句:break、continue、return、throw

news/2024/10/4 7:14:53/

在JavaScript编程中,控制流语句是控制代码执行流程的重要工具。这些语句包括breakcontinuereturnthrow,它们可以在循环、函数以及其他代码块中使用,以改变正常的执行顺序。下面我们将逐一探讨这些语句的用途和示例。

break

break语句用于立即终止当前循环或switch语句的执行,并跳出该循环或switch。

循环中的break

javascript">for (let i = 0; i < 10; i++) {if (i === 5) {break; // 当i等于5时,跳出循环}console.log(i); // 只会打印0到4
}

switch中的break

javascript">let fruit = 'apple';
switch (fruit) {case 'banana':console.log('Banana!');break; // 必须有break,否则会执行下面的代码case 'apple':console.log('Apple!');break;default:console.log('Unknown fruit.');
}

continue

continue语句用于跳过当前循环的剩余部分,并立即开始下一次迭代。

javascript">for (let i = 0; i < 10; i++) {if (i % 2 === 0) {continue; // 跳过偶数,不执行下面的代码}console.log(i); // 只会打印1, 3, 5, 7, 9
}

return

return语句用于从函数中返回一个值,并终止函数的执行。

javascript">function sum(a, b) {return a + b; // 返回两数之和,并结束函数
}console.log(sum(5, 3)); // 输出8

如果函数没有返回值,或者没有return语句,那么默认返回undefined

throw

throw语句用于抛出一个错误,它可以是字符串、数字、布尔值或对象。当错误被抛出时,函数的执行将被中断,并且错误需要被外部捕获。

javascript">function divide(a, b) {if (b === 0) {throw 'Cannot divide by zero'; // 抛出错误}return a / b;
}try {console.log(divide(10, 0)); // 尝试执行除法
} catch (error) {console.error(error); // 捕获并打印错误信息
}

总结

  • break用于完全终止循环或switch语句。
  • continue用于跳过当前循环的剩余部分。
  • return用于从函数返回一个值并终止函数。
  • throw用于抛出错误,中断函数执行。

这些控制流语句是JavaScript中非常强大的工具,它们可以帮助你编写更清晰、更高效的代码。正确使用这些语句,可以有效地控制程序的执行流程。


http://www.ppmy.cn/news/1524498.html

相关文章

echarts X轴文本太长 formatter自定义文本的显示方式

如果ECharts中X轴的文本太长&#xff0c;可以通过设置axisLabel的rotate属性来旋转标签&#xff0c;或者使用formatter函数来自定义文本的显示方式。另外&#xff0c;可以开启axisLabel的interval属性来控制显示的标签的间隔。 option {tooltip: {},xAxis: {type: category,d…

构建Vue项目的侧边栏组件:Aside

构建Vue项目的侧边栏组件&#xff1a;Aside 在Vue项目中&#xff0c;侧边栏&#xff08;Aside&#xff09;是一个常见的组件&#xff0c;用于展示导航菜单。本文将详细介绍如何创建一个侧边栏组件&#xff0c;包括如何引入el-menu组件、定义路由、传递props以及编写MenuTree子…

LRU go cache的实现

目录 LRU算法LRU原理LRU实现Redis LRU算法实现1. 内存淘汰策略2. LRU算法的实现3. LRU vs LFURedis中的LRU使用场景 基于LRU的缓存库go-cache安装使用代码解析 hashicorp/golang-lru安装使用代码解析 groupcache安装使用代码解析缓存淘汰算法并发缓存组一致性哈希防止缓存击穿—…

LeetCode之双指针

125. 验证回文串 class Solution {public boolean isPalindrome(String s) {// 获取输入字符串 s 的长度int len s.length();// 创建一个 StringBuilder 对象 result 用于存储处理后的字符串StringBuilder result new StringBuilder();// 遍历输入字符串 sfor (int i 0; i …

[N1CTF 2018]eating_cms1

进入到页面是一个login登录页面 . 去访问他的register.php页面进入注册页面. 注册进入. 一眼文件包含. 去读取一下user.php http://2641f658-8af4-4626-92d0-ceb19180ea92.node5.buuoj.cn:81/user.php?pagephp://filter/convert.base64-encode/resourceuser 解码. <?p…

git中,隐藏application.properties文件,修改不用提交了

git中&#xff0c;隐藏application.properties文件&#xff0c;修改不用提交了 A、将文件名放入 .gitignore 文件中 B、执行git命令隐藏文件 执行在ide上执行命令 a、执行隐藏命令 git rm --cached src/main/resources/application.properties b、执行提交命令 git commit -m…

AI产品经理:2024年职场发展的新机遇

前言 这两年&#xff0c;AI 骤然“火”了起来&#xff0c;可谓出现了重大“转折”。就在这短短两年间&#xff0c;全球各大“大厂”几乎在同一时间争先恐后地跟进 AI 技术。从 ChatGPT 发布起&#xff0c;谷歌、Facebook、亚马逊等纷纷紧跟其后&#xff0c;国内的百度、腾讯、…

NLP从零开始------文本中阶处理之序列到序列模型(完整版)

1. 序列到序列模型简介 序列到序列( sequence to sequence, seq2seq) 是指输入和输出各为一个序列(如一句话) 的任务。本节将输入序列称作源序列&#xff0c;输出序列称作目标序列。序列到序列有非常多的重要应用&#xff0c; 其中最有名的是机器翻译( machine translation), 机…