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

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

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

break

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

循环中的break

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

switch中的break

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语句用于跳过当前循环的剩余部分,并立即开始下一次迭代。

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

return

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

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

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

throw

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

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.lryc.cn/news/435959.html

相关文章:

  • 移动通信为啥要用双极化天线?
  • C语言从头学59——学习头文件math.h(二)
  • Leetcode 3283. Maximum Number of Moves to Kill All Pawns
  • 智能物流新“黑神话”:各位“天命人”,这份行业应用锦集请收下!
  • SpringSecurity原理解析(五):HttpSecurity 类处理流程
  • C++系列-匿名对象
  • tofixed和math.round什么区别
  • OPENAIGC开发者大赛高校组金奖 | 基于混合大语言模型与多模态的全过程通用AI Agent
  • MySql批量迁移数据库
  • 一、selenium自动化简介selenium工具集
  • CCF推荐B类会议和期刊总结:(计算机网络领域)
  • [Web安全 网络安全]-文件包含漏洞
  • 使用soui4实现一个拾色器
  • Thinkphp5 + Swoole实现邮箱异步通知
  • LLM - 理解 多模态大语言模型 (MLLM) 的预训练与相关技术 (三)
  • 工具篇之Joda-Time
  • 架构师应该懂得东西,软考应该具备的
  • 图论篇--代码随想录算法训练营第五十一天打卡| 99. 岛屿数量(深搜版),99. 岛屿数量(广搜版),100. 岛屿的最大面积
  • 什么是API网关(API Gateway)?
  • 对话:LLC磁集成能否成为充电桩模块电源常态产品?
  • 基于SSM的二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • 视觉语言模型中的人脸社会感知
  • JAVA学习-练习试用Java实现“最小覆盖子串”
  • 关于axios同步获取数据的问题
  • java-在ANTLR中,如何从java文件中提取类名和方法名0.1.8
  • 十大护眼灯钢琴灯品牌是智商税吗?十大钢琴灯品牌排行榜
  • 搜维尔科技:CyberGlove将实时捕捉运动信号和触觉反馈,将其重新定位到人形机器人进行驱动
  • 数据结构:堆的算法
  • python画图|3D直方图基础教程
  • C语言中的函数,实参,形参,递归