从零开始学习typescript——流程控制

前言

默认情况下,所有的代码都是从上到下,从左到右顺序执行的。

开始
语句1
语句2
语句3
结束

在编写程序时,果然我们要想让程序 像自然语言一样,有选择的执行我们的语句,就需要使用到流程控制

选择语句

开始
是否满足
情况1
结束
情况2

if

if语句包括有 if、if…else 、 if …else if …else

  • if : if语句中条件表达式为true 执行代码
if(true){//多行代码 用花括号包围
}
  • if…else
    如果if条件表达式为true,执行if 后面花括号的代码,否则执行 else 中的代码
if(true){//多行代码 用花括号包围
}else{
}
  • if …else if …else
    如果if条件表达式为true,执行if 后面花括号的代码,否则执行 else 中的代码; 比起 if…else 根据复杂一些
if(true){//多行代码 用花括号包围
}else if(true){//多行代码 用花括号包围
}else{
}

条件表达式的值需要是布尔类型,如果不是布尔类型,会触发隐式转换

switch

switch语句 中条件表达式的值可以是任何类型;然后根据这个值和case 后面紧跟的值进行对比,满足的就会执行;当所有case 值都不满足时,执行default 后的代价

switch(条件表达式){case1:break;case2:break;default:break;
}

break 表示跳出当前语句;如果是 放在 循环中,表示当前这一层循环

循环语句

满足
不满足
开始
是否满足条件
语句2
结束
语句2

循环,顾名思义,就是需要反复执行的程序;比如数字累加

for

for(前置语句;条件表达式;后置语句)let sum=0;
for(let i=1;i<=100;i++){sum +=i;
}

除了上面这种,你还可以使用for …of /for …in


let sum=['1','2','3'];
for(let item  of sum ){console.log(item)
}for(let item  in sum ){console.log(item)
}
  • for…of适用遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合.但是不能遍历对象,因为没有迭代器对象.与forEach()不同的是,它可以正确响应break、continue和return语句
  • for-of循环不支持普通对象,但如果你想迭代一个对象的属性,你可以用for-in循环(这也是它的本职工作)或内建的Object.keys()方法

do…while

do 后面跟执行的代码 while (表达式); 表达式值为true ,执行循环中代码

do{}while(表达式)

while

while(表达式)

while(表达式){}

do …while 与while 都是表示循环,区别在于 do…while 表示至少执行一次; while 可能一次都不执行

跳出语句

break

break 表示跳出当前这层循环

continue

continue 表示跳出本次循环,但不会终结这个循环体

return

return 表示直接返回,是会直接退出当前函数的,不会在执行return 后面的语句

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

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

相关文章

vue3+ts v-model 深度学习

<template><div><h1>我是App.vue组件</h1><div>isShpw:{{ isShow }}</div><div>text:{{ text }}</div><div><button click"isShow !isShow">开关</button></div><hr /><vModeVal…

在Matlab里安装gurobipy怎么安装教程

在Matlab 里安装gurobipy 先在CMD里激活&#xff0c; 然后添加系统环境变量 GRB_LICENSE_FILEC:\gurobi10.2\gurobi.lic 然后输入 addpath(D:\gurobi1003\win64\matlab) addpath(C:\gurobi1003\win64\matlab) addpath(C:\gurobi1002\win64\matlab) C:\gurobi1003\win64\m…

Excel如何比较两列数据的不同

当遇到exel有两个列表的数据&#xff0c;需要比较得到他们的不同的部分&#xff0c;并且得到一个不同的值的列表。示例如下&#xff1a; 目的是&#xff1a;通过比较&#xff0c;知道Column2的哪些值不在在Column1里。 WPS直接提供了这一个功能&#xff0c;如下图&#xff1a;…

【日常总结】Swagger 3.0 + 集成 knife4j ,并设置header入参

一、场景 环境&#xff1a; 二、问题 思路 &#xff1a; 三、解决方案 &#xff08;推荐&#xff09; Stage 1&#xff1a;接入knife4j 依赖 Stage 2&#xff1a;修改 yaml 配置 Stage 3&#xff1a;修改 swagger 3 配置文件 Stage 4&#xff1a;查看效果 Swagger UI …

python爬虫实习找工作练习测试(以下内容仅供参考学习)

要求&#xff1a;获取下图指定网站的指定数据 空气质量状况报告-中国环境监测总站 输入&#xff1a;用户输入下载时间范围&#xff0c;格式为2022-10 输出&#xff1a;将更新时间在2022年10月1日到31日之间的文件下载到本地目录&#xff08;可配置&#xff09;&#xff0c;并…

WordPress:构建强大的网站和博客的完美选择

WordPress&#xff1a;构建强大的网站和博客的完美选择 一、WordPress 简介1.1 WordPress 介绍1.2 WordPress 优势 二、部署LNMP环境2.1 前提条件2.2 关闭防火墙和SELinux2.3 安装Nginx2.4 安装MySQL2.5 安装PHP2.6 配置Nginx2.7 配置MySQL2.8 配置PHP2.9 测试访问LNMP平台 三、…

Java中的spring——面试题+答案(Spring框架)——第19期

当涉及到Spring框架的面试时&#xff0c;深入理解Spring的各个方面是至关重要的。 Spring IoC 和 DI Spring的IoC是什么&#xff1f; 答案&#xff1a; 控制反转&#xff08;IoC&#xff09;是一种设计模式&#xff0c;它将对象的创建和依赖关系的管理从应用程序代码中移到容器…

【vue_3】关于超链接的问题

1、需求2、修改前的代码3、修改之后&#xff08;1&#xff09;第一次&#xff08;2&#xff09;第二次&#xff08;3&#xff09;第三次&#xff08;4&#xff09;第四次&#xff08;5&#xff09;第五次 1、需求 需求&#xff1a;要给没有超链接的列表添加软超链接 2、修改前…

【密码学引论】分组密码

第三章 分组密码 DES、IDEA、AES、SM4 1、分组密码定义&#xff08;按照五个组成部分答&#xff09; 密钥空间&#xff1a;属于对称加密算法kekd明密文空间&#xff1a;将明文划分为m比特的组&#xff0c;每一块依次进行加密加解密算法&#xff1a;由key决定一个明文到密文的…

【华为OD题库-039】乘坐保密电梯-java

题目 有一座保密大楼&#xff0c;你从0楼到达指定楼层m&#xff0c;必须这样的规则乘坐电梯&#xff1a;给定一个数字序列&#xff0c;每次根据序列中的数字n上升n层或者下降n层&#xff0c;前后两次操作的方向必须相反&#xff0c;规定首次的方向向上&#xff0c;自行组织序列…

OpenMesh 网格曲率计算

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 借鉴之前点云主曲率计算的思路(Matlab 点云主曲率计算),这里基于网格顶点中每个邻近顶点的法向量来计算出点云中每个顶点的主曲率值。 二、实现代码

Spring Boot Admin(SBA)核心流程-注册篇

SBA是什么 首先我们简单了解一下Spring Boot Admin&#xff08;SBA&#xff09;&#xff0c;以下统一简称SBA是什么。借用官网的描述&#xff1a; SBA 是 codecentric 公司开发的一款开源社区项目&#xff0c;目标是让用户更方便的管理以及监控 Spring Boot 应用。 应用可以…

011 OpenCV warpAffine

目录 一、环境 二、warpAffine原理 三、完整代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、warpAffine原理 warpAffine是OpenCV库中的一个函数&#xff0c;它用于执行二维仿射变换。这个函数接受一个输入图像和变换矩阵&…

二叉树的递归套路(1)

与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 是否平衡二叉树 &#x1f48e;总结 是否平衡二叉树 题目 给定一颗二叉树的头节点head&#xff0c;返回这颗二叉树是不是平衡二叉树 平衡二叉树就是这个树的所有子树和它自己&#xff0c;左右子树高度差不超过1 递归…

Rust语言入门教程(六) - 字符串类型

在Rust中&#xff0c; 字符串类型其实是一个比较复杂的话题。在Rust的标准库中&#xff0c;至少都提供了6种字符串类型&#xff0c;我们平常使用的最多的是其中的两种。这两种类型互相之间也有所关联&#xff1a; str&#xff1a; 字符串切片String 字符串 其中&#xff0c; 字…

Postman接口测试 —— 设置断言和集合运行

一、常见的5种断言方法 Postman是一款非常强大的API接口调式工具&#xff0c;它自带断言方法&#xff0c;不需要学习JavaScript脚本&#xff0c;非常方便。 &#xff08;1&#xff09;Status code&#xff1a;Code is 200(校验接口返回结果的状态码) &#xff08;2&#xff09…

python+feon有限元分析|求解实例

目录 1、feon框架结构 2. 支持的单元类型 3、实例 1、feon框架结构 包含三个包&#xff1a; sa&#xff1a;结构分析包 ffa&#xff1a;流体分析包 derivation&#xff1a;刚度矩阵包 2. 支持的单元类型 Spring1D11 - 一维弹簧单元 Spring2D11 - 二维弹簧单元 Spring…

Java进行计算两个时间间隔

在Java中&#xff0c;我们经常需要计算两个时间之间的间隔&#xff0c;比如计算某个任务的执行时间、计算两个事件发生的时间间隔等等。Java提供了一些类和方法来处理时间和日期相关的操作&#xff0c;本文将介绍如何使用Java来计算两个时间之间的间隔&#xff0c;并提供相应的…

再探Docker:从Docker基础到跨服务器部署

摘要&#xff1a; 这篇文章将从介绍Docker基础开始&#xff0c;逐步讲解如何创建镜像、使用Docker Compose编排容器、在Docker中更新部署环境&#xff0c;将更新后的环境打包为镜像并导出为tar包&#xff0c;最后在其他服务器上应用这个镜像。 1. Docker是什么 Docker是一种容…

MySQL运行在docker容器中会损失多少性能

前言 自从使用docker以来&#xff0c;就经常听说MySQL数据库最好别运行在容器中&#xff0c;性能会损失很多。一些之前没使用过容器的同事&#xff0c;对数据库运行在容器中也是忌讳莫深&#xff0c;甚至只要数据库跑在容器中出现性能问题时&#xff0c;首先就把问题推到容器上…