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.mzph.cn/pingmian/58927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计组-Cache的基本概念,计算Cache+主存的平均周期

由于寄存器是集成在CPU中且容量极小&#xff0c;所以我们用Cache来提高速度&#xff0c;在无寄存器时其当做访问速度最快的 Cache的命中率: 是指当CPU要处理某个数据时&#xff0c;首先会考虑在Cache里面去读取&#xff0c;当需要读取的数据在Cache里面时&#xff0c;此时这个…

《大数据与人工智能:提升数据质量与数量的利器》

《大数据与人工智能&#xff1a;提升数据质量与数量的利器》 一、大数据与人工智能的融合趋势二、大数据增加数据数量的方法&#xff08;一&#xff09;不同途径的数据增量&#xff08;二&#xff09;数据增强的多样方法 三、人工智能提升数据数量的手段&#xff08;一&#xf…

【JAVA】Java基础—Java概述:Java的特点

Java语言因其独特的设计理念和强大的功能&#xff0c;在软件开发领域获得了广泛的应用。以下是Java的几个主要特点的详细说明&#xff0c;以及通俗易懂的例子来帮助理解这些概念。 1. 跨平台性 理论说明 Java的跨平台性是其最显著的特点之一&#xff0c;得益于Java虚拟机&am…

算法中使用的数据结构解释*

算法中使用的数据结构解释 在算法的执行过程中&#xff0c;需要有能够容纳临时数据的内存数据结构。数据结构的有效实施需要选择适当的数据结构。迭代或递归算法需要专门为其逻辑设计的数据结构。 也有人表述为容器&#xff0c;存放数据的容器。 在递归算法的情况下&#xff0c…

UE4安卓Gradle工程中的libUE4.so的生成原理

流程图 流程图放在最前面&#xff0c;下面是讲解。 libUE4.so 问&#xff1a;在UE4安卓开发中&#xff0c;libUE4.so即是符号表&#xff0c;又是引擎代码native&#xff0c;是吗&#xff1f; 答&#xff1a;是的&#xff0c;libUE4.so在UE4安卓开发中既包含符号表&#xff0c;…

一文囊括风控建模中的变量筛选方法

风控建模在金融领域中起着至关重要的作用,特别是在信贷和支付领域。为了构建稳定和有效的风控模型,变量筛选是一个必不可少的步骤。本文将详细介绍几种在风控建模中常用的变量筛选方法。 文章目录 一、变量自身分布稳定性1 变量PSI值计算2 长期趋势图二、变量和目标值的强相关…

C4.【C++ Cont】C++数据类型和typedef的补充说明

1.数据类型 C同C语言的一样的数据类型不在赘述,参见3.【C语言】内置数据类型,这里只讲不同点 1.在C中,布尔类型包含在头文件iostream中,不用像C语言一样包含stdbool.h 布尔类型变量的定义写法和C语言不同,只能写成 bool a true; bool b false; bool不可写成_Bool或Bool …

Windows部署rabbitmq

本次安装环境&#xff1a; 系统&#xff1a;Windows 11 软件建议版本&#xff1a; erlang OPT 26.0.2rabbitmq 3.12.4 一、下载 1.1 下载erlang 官网下载地址&#xff1a; 1.2 下载rabbitmq 官网下载地址&#xff1a; 建议使用解压版&#xff0c;安装版可能会在安装软件…

映射是到上的,即满射

映射&#xff08;Mapping&#xff09;在数学中通常指的是从一个集合到另一个集合的函数。在更具体的情况下&#xff0c;映射可以是一对一&#xff08;Injective&#xff09;的&#xff0c;这意味着定义域中的每个元素都映射到值域中的唯一元素&#xff0c;没有两个不同的元素映…

迷宫求解:探索最优路径的算法与应用

迷宫求解问题通常可以通过图搜索算法来解决&#xff0c;常用的方法包括广度优先搜索&#xff08;BFS&#xff09;、深度优先搜索&#xff08;DFS&#xff09;和A*算法。以下是一个使用BFS解决迷宫问题的Python示例&#xff1a; Python 迷宫求解代码示例 from collections imp…

solidity中的Error和Modifier详解

异常 写智能合约经常会出bug&#xff0c;solidity中的异常命令帮助我们debug。 Error error是solidity 0.8.4版本新加的内容&#xff0c;方便且高效(省gas)地向用户解释操作失败的原因&#xff0c;同时还可以在抛出异常的同时携带参数&#xff0c;帮助开发者更好地调试。人们…

leetcode hot100【LeetCode 139. 单词拆分】java实现

LeetCode 139. 单词拆分 题目描述 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明&#xff1a; 拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。 示例 1&am…

etcd-python

etcd 分布式键值(key-value)数据库 基于go语言实现 分布式系统中提供强一致性、高可用性的组件 etcd内部采用raft协议作为一致性算法 用来存储少量重要的数据 pip install etcd3 import etcd # 连接etcd&#xff08;可以加用户名密码&#xff09; etcd etcd3.client(host192…

前端学习-盒子模型(十八)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 盒子模型组成 边框 语法 边框简写 代码示例 表格的细线边框 语法 内边距 内边距复合写法 外边距 外边距典型应用 外边距合并 清除内外边距 总结 前…

LeetCode 第422场个人周赛

目录 Q1. 检查平衡字符串 原题链接 思路分析 AC代码 Q2. 到达最后一个房间的最少时间 I 原题链接 思路分析 AC代码 Q3. 到达最后一个房间的最少时间 II 原题链接 思路分析 AC代码 Q4. 统计平衡排列的数目 原题链接 思路分析 AC代码 Q1. 检查平衡字符串 原题链接…

力扣题解(大礼包)

638. 大礼包 已解答 中等 相关标签 相关企业 在 LeetCode 商店中&#xff0c; 有 n 件在售的物品。每件物品都有对应的价格。然而&#xff0c;也有一些大礼包&#xff0c;每个大礼包以优惠的价格捆绑销售一组物品。 给你一个整数数组 price 表示物品价格&#xff0c;其中…

GHuNeRF: Generalizable Human NeRF from a Monocular Video

研究背景 研究问题&#xff1a;这篇文章要解决的问题是学习一个从单目视频中泛化的人类NeRF模型。尽管现有的泛化人类NeRF已经取得了令人印象深刻的成果&#xff0c;但它们需要多视图图像或视频&#xff0c;这在某些情况下可能不可用。此外&#xff0c;一些基于单目视频的人类…

为啥学习数据结构和算法

基础知识就像是一座大楼的地基&#xff0c;它决定了我们的技术高度。而要想快速做出点事情&#xff0c;前提条件一定是基础能力过硬&#xff0c;“内功”要到位。 想要通关大厂面试&#xff0c;千万别让数据结构和算法拖了后腿 我们学任何知识都是为了“用”的&#xff0c;是为…

离线安装Vue2开发环境

在外网进行Vue2开发后&#xff0c;需要转到内网开发&#xff0c;无法在线依赖库安装&#xff0c;需要迁移node_modules。 1.内外网开发电脑安装同样版本的nodejs 我本地安装的node-v16.17.1-x64.msi&#xff0c;所以在内网环境也要按照node-v16.17.1-x64.msi。 在外网环境使用…

hadoop面试题

一、单项选择题 1、目前&#xff0c;Hadoop的最高版本是哪个&#xff08; A &#xff09; A、Hadoop3.x B、Hadoop2.x C、Hadoop4.x D、Hadoop1.x 2、大数据的4V特征是指? &#xff08; B &#xff09; A、数据量大(Volume)、类型繁多(Variety)、价值密度低(Va…