js,ts控制流程

在这里插入图片描述
摘要:

在 JavaScript 和 TypeScript 中,控制流程是指程序执行的顺序和条件判断。以下是一些常见的控制流程结构,包括条件语句、循环语句和函数调用等。

1. 条件语句:
if 语句

let condition = true;if (condition) {console.log('Condition is true');
} else {console.log('Condition is false');
}

switch 语句

let value = 2;switch (value) {case 1:console.log('Value is 1');break;case 2:console.log('Value is 2');break;default:console.log('Value is not 1 or 2');
}

2. 循环语句:
for 循环

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

while 循环

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

do…while 循环

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

for…of 循环

let array = [1, 2, 3, 4, 5];
for (let item of array) {console.log(item);
}

for…in 循环

let obj = { a: 1, b: 2, c: 3 };
for (let key in obj) {console.log(key, obj[key]);
}

3. 函数调用:
声明函数

function greet(name) {console.log(`Hello, ${name}!`);
}greet('Alice');

箭头函数

const greet = (name) => {console.log(`Hello, ${name}!`);
};greet('Alice');

4. 异步控制流程:
Promise

let promise = new Promise((resolve, reject) => {setTimeout(() => {resolve('Success');}, 1000);
});promise.then((result) => {console.log(result);
}).catch((error) => {console.error(error);
});

async/await

async function fetchData() {try {let response = await fetch('https://api.example.com/data');let data = await response.json();console.log(data);} catch (error) {console.error(error);}
}fetchData();

5. 类和对象:

class Person {name: string;age: number;constructor(name: string, age: number) {this.name = name;this.age = age;}greet() {console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);}
}let person = new Person('Alice', 30);
person.greet();

对象字面量

let person = {name: 'Alice',age: 30,greet: function() {console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);}
};person.greet();

6. 错误处理:
try…catch

try {// 可能会抛出错误的代码throw new Error('Something went wrong');
} catch (error) {console.error(error.message);
} finally {console.log('This will always run');
}

7. 条件运算符:
三元运算符

let age = 20;
let message = age >= 18 ? 'Adult' : 'Minor';
console.log(message);

8. 数组和对象的方法:
数组方法

let array = [1, 2, 3, 4, 5];array.forEach((item) => {console.log(item);
});let filteredArray = array.filter((item) => item > 2);
console.log(filteredArray);let mappedArray = array.map((item) => item * 2);
console.log(mappedArray);let reducedValue = array.reduce((acc, item) => acc + item, 0);
console.log(reducedValue);

对象方法

let obj = { a: 1, b: 2, c: 3 };Object.keys(obj).forEach((key) => {console.log(key, obj[key]);
});Object.values(obj).forEach((value) => {console.log(value);
});Object.entries(obj).forEach(([key, value]) => {console.log(key, value);
});

9. 总结:

  • 条件语句:用于根据条件执行不同的代码块。
  • 循环语句:用于重复执行一段代码。
  • 函数调用:用于封装和重用代码。
  • 异步控制流程:用于处理异步操作。
  • 类和对象:用于组织和管理复杂的数据结构。
  • 错误处理:用于捕获和处理错误。
  • 条件运算符:用于简洁地表达条件逻辑。
  • 数组和对象的方法:用于操作数组和对象。

这些控制流程结构可以帮助你更有效地管理和控制程序的执行流程。希望这些示例能帮助你更好地理解和使用 JavaScript 和 TypeScript 中的控制流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/7265.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何利用谷歌浏览器提升上网体验

在当今数字化时代&#xff0c;拥有一款高效、便捷且个性化的浏览器对于提升上网体验至关重要。谷歌浏览器作为全球最受欢迎的浏览器之一&#xff0c;凭借其强大的功能和简洁的界面设计&#xff0c;赢得了广大用户的青睐。本文将为您介绍三个实用技巧&#xff0c;帮助您更好地利…

敏捷开发新助力:超越传统的10大知识库工具

敏捷开发强调快速响应变化、持续交付价值以及团队之间的紧密协作。为了实现这些目标&#xff0c;团队需要借助高效、智能的知识库工具来管理、整合和分享项目中的各类知识资源。以下是敏捷开发团队必备的10大知识库工具&#xff0c;其中特别包含了HelpLook AI知识库。 HelpLook…

计算机网络——SDN

分布式控制路由 集中式控制路由

C语言——VS实用调试技巧

文章目录 什么是bug&#xff1f;什么是调试&#xff08;debug&#xff09;&#xff1f;debug和releaseVS调试快捷键环境准备调试快捷键 监视和内存观察监视内存 调试举例1调试举例2调试举例3&#xff1a;扫雷编程常见错误归类编译型错误链接型错误运行时错误 什么是bug&#xf…

对称二叉树(力扣101)

题目如下: 思路 对于这道题, 我会采用递归的解法. 看着对称的二叉树, 写下判断对称的条件, 再进入递归即可. 值得注意的是, 代码中会有两个函数, 第一个是isSymmetric,第二个是judge. 因为这里会考虑到一种特殊情况, 那就是 二叉树的根结点(最上面的那个),它会单独用…

gitee 使用 webhoot 触发 Jenkins 自动构建

一、插件下载和配置 Manage Jenkins>Plugin Manager 搜索 gitee 进行安装 插件配置 1、前往Jenkins -> Manage Jenkins -> System -> Gitee Configuration -> Gitee connections 2、在 Connection name 中输入 Gitee 或者你想要的名字 3、Gitee host URL 中…

[STM32] EXTI 外部中断 (三)

文章目录 1.中断1.1 中断系统1.2 中断流程 2.STM32 中断2.1 EXTI&#xff08;外部中断&#xff09;2.2 EXTI 的基本结构2.3 AFIO 复用IO口2.4 EXTI 的框图 3.NVIC 基本结构3.1 NVIC 优先级分组 4.配置 EXTI4.1 AFIO 库函数4.2 EXTI 库函数4.3 NVIC 库函数4.4 配置EXTI 的步骤4.…

浅谈人工智能之DB-GPT(番外篇)Chat Excel功能示例

浅谈人工智能之DB-GPT&#xff08;番外篇&#xff09;Chat Excel功能示例 当我们安装完成DB-GTP以后&#xff0c;我们就可以对该功能进行使用&#xff0c;本文以Chat Excel功能未示例&#xff0c;介绍DB-GPT的强大功能。 Excel准备 首先我们准备一份Excel&#xff0c;该Exce…

泰鸿万立上会,业绩增速放缓,对吉利、长城依赖度较高

作者&#xff1a;Eric 来源&#xff1a;IPO魔女 2024年11月8日&#xff0c;深交所上市委将审议浙江泰鸿万立科技股份有限公司&#xff08;简称“鸿泰万立”&#xff09;主板IPO申请。公司保荐机构为东方证券。拟募集资金为11.50亿元。 鸿泰万立主营业务为汽车结构件、功能件的…

耕地类项目知识点汇总(持续完善中……)

测绘 | 浅谈三次国土调查的“前世今生” 1.三次国土调查 全国国土调查一调1984年开始&#xff0c;1996年底调查完成&#xff0c;共耗时13年。 全国国土调查二调2007年开始&#xff0c;2009年全面调查完成。 全国国土调查三调2017年下半年&#xff0c;2020年10月底调查完成。…

基于CNN-BiLSTM的时间序列数据预测,15个输入1个输出,可以更改数据集,MATLAB代码

1. 数据收集与预处理 数据清洗&#xff1a;处理缺失值、异常值等。特征工程&#xff1a;提取有助于预测的特征。数据标准化&#xff1a;将时间序列数据标准化&#xff0c;使其具有零均值和单位方差&#xff0c;有助于模型训练。滑动窗口划分&#xff1a;将时间序列数据划分为多…

红帆OA iorepsavexml.aspx文件上传漏洞

漏洞描述 广州红帆科技深耕医疗行业20余年&#xff0c;专注医院行政管控&#xff0c;与企业微信、阿里钉钉全方位结合&#xff0c;推出web移动一体化办公解决方案——iOffice20&#xff08;医微云&#xff09;。提供行政办公、专业科室应用、决策辅助等信息化工具&#xff0c;…

Python 基础笔记之生成器generator

生成斐波拉契数列 def fib(length):a,b0,1n0while n<length:yield aa,bb,abn1return abc g2fib(10) try:print(next(g2)) 生成器方法&#xff1a; __next__():获取下一个元素 send(value):向每次生成器调用中传值 注意&#xff1a;第一次调用send(None) def gen():i0while…

qt QWebSocketServer详解

1、概述 QWebSocketServer 是 Qt 框架中用于处理 WebSocket 服务器端的类。它允许开发者创建 WebSocket 服务器&#xff0c;接受客户端的连接&#xff0c;并与之进行双向通信。WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议&#xff0c;它使得客户端和服务器之间的数…

qt QTabWidget详解

1、概述 QTabWidget是Qt框架中的一个控件&#xff0c;它提供了一个标签页式的界面&#xff0c;允许用户在不同的页面&#xff08;或称为标签&#xff09;之间切换。每个页面都可以包含不同的内容&#xff0c;如文本、图像、按钮或其他小部件。QTabWidget非常适合用于创建具有多…

HTML的总结作业

作业1 参照图使用表格定位表单。 参考代码 <!DOCTYPE html> <html> <head> <meta charset"utf-8"/> <title></title> </head> <body> <form action""> …

Rust 力扣 - 3090. 每个字符最多出现两次的最长子字符串

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 本题使用滑动窗口进行求解&#xff0c;使用左指针和右指针分别表示窗口的左边界和窗口的右边界&#xff0c;使用哈希表记录窗口内的字符及其对应数量 我们首先向右移动右指针&#xff0c;将字符加入到哈希表中进…

qt qchart添加跟随鼠标的十字线

基于qchart添加跟随鼠标的十字线和item 或许你需要些许QGraphics框架的基础知识,当然照抄这个帖子也是没有任何问题的,也可以实现功能 老套路,一图胜千言 效果如上动图,略微讲一点QGraphics框架的内容 QGraphicsScene是一个item管理集合,QGraphicsView就是scene的眼睛,it…

Flutter PC端UI组件库

一、参考Element-ui的设计和交互&#xff0c;构建基于dart的Flutter UI组件库 https://javonhuang.github.io/sky-ui-page/index.html

让股票数据分析从此如此简单

你是否遇到过&#xff0c;此类事件&#xff0c;一直在上班&#xff0c;没办法自己长时间盯盘&#xff0c;而且&#xff0c;可能会出现&#xff0c;这种情况&#xff0c;各类股票类APP功能巨多&#xff0c;但是呢&#xff0c;自己有自己一套理论&#xff0c;但是又没办法定制&am…