js循环判断的方法
js循环判断的方法
- if语句
- if else语句
- if else if else if......
- 三元表达式
- switch
- switch语句和if语句的区别
- for循环
- while循环
- do while循环
- for in
- forEach
- for of
- 性能问题
if语句
条件满足就执行,不满足就不执行
if(条件){语句}
if else语句
条件满足,执行语句1,条件不满足,执行语句2
if(条件){语句1
} else{语句2
}
if else if else if…
if (条件1) {语句1} else{语句2} if (条件2) {语句2} else{语句3}
三元表达式
条件1?语句2:语句3;
如果条件1为true,执行语句2。如果条件1为false,执行语句3。
var num=421;var num=123?console.log(密码正确) :console.log(密码错误);//输入num是否为123,如果是,输出密码正确,如果不是,输出密码错误
//输入值为421,显然输出反馈给用户的信息的是密码错误
switch
它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列特定值的选项时,就可以使用 switch
switch(表达式){case value1://表达式等于value1时要执行的代码break;case value2://表达式等于value2时要执行的代码break;default:// 表达式不等于任何一个value值时要执行的代码}
switch语句和if语句的区别
switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)。
switch语句进行条件判断后直接执行到程序的条件语句,而if…else…语句有几种条件,就得判断几次(从上到下依次判断)。
当分支比较少时,if…else…语句的执行效率比switch语句更高。
当分支比较多时,switch语句的执行效率比if…else…语句更高,结构也更清晰。
for循环
for(初始化变量①; 条件表达式②; 操作表达式③ ){//循环体④}
初始化变量:其实就是用var声明一个普通的变量,并且这个变量通常是作为计数器使用。
条件表达式:用来决定每一次循环是否继续执行,也就是循环的终止条件。
操作表达式:每次循环最后执行的代码,经常用于更新计数器(递增或递减)。
循环体:一组被重复执行的语句。
执行流程:
- 初始化变量,初始化操作在整个 for 循环只会执行一次。
- 执行条件表达式,如果为 true,则执行循环体语句,否则退出循环,循环结束。
- 执行操作表达式,此时第一轮结束。
- 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true,则去执行循环体 语句,否则退出循环。
- 继续执行操作表达式,第二轮结束。… 整体执行顺序为:① ② ④ ③ ② ④ ③ ② ④ ③ … ② 循环结束
while循环
while (条件表达式) {//循环体代码}
先执行条件表达式,如果结果为 true,则执行循环体代码;
如果为 false,则退出循环,执行后面代码执行循环体代码
循环体代码执行完毕后,程序会继续判断执行条件表达式。
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。
do while循环
do while 是先执行代码,在进行判断,所以 do while 至少执行一次。
do {//循环体代码 - 条件表达式为 true 时重复执行循环代码} while(条件表达式);
for in
常用于遍历对象
不能使用break,continue,return来控制循环
let arr = [{name: '张三'},{name: '李四'}]; for (let i in arr) { console.log(i); //遍历下标 结果为 0 1}
forEach
forEach用于遍历数组中的元素,并且会对数组中元素使用callback(),与map(),raduce()不同的是,它总返回一个undefined,并且不可以链式调用。
不能使用break,continue,return来控制循环
let arr = [{name: '张三'},{name: '李四'}]; arr.forEach((item,index)=>{console.log(index);})
for of
for—of不能遍历普通对象,因为普通对象没有Symbol.iterator属性,如果一个对象有Symbol.iterator属性,那么就可以使用for—of遍历。
常用于遍历array(数组)map(映射)set(集合)strings(字符串)
可以使用break,continue,return来控制循环
let arr = [{name: '张三'},{name: '李四'}]; for (let i of arr){console.log(i);}
性能问题
forEach方法,for in方法,for of方法都来自于for循环。
它们只是底层进行不同的封装,虽然看起来简单,但是性能是没有for循环优秀的。
因为for循环是最底层,最基本,性能最优秀的一种遍历方式。但for循环一旦嵌套,比如冒泡排序,看起来是非常令人头疼的。
包括map()方法,sort()方法,都是针对不同数据类型,为了简单高效解决问题,进行了封装。但性能上说,for循环永远是最优秀的。

相关文章:
js循环判断的方法
js循环判断的方法if语句if else语句if else if else if......三元表达式switchswitch语句和if语句的区别for循环while循环do while循环for inforEachfor of性能问题if语句 条件满足就执行,不满足就不执行 if(条件){语句}if else语句 条件满足,执行语句…...
git快速入门(1)
1 git的下载与安装1)下载git安装包下载路径:https://git-scm.com/我的操作系统是window,64位的,我下载的Git-2.33.0-64-bit.exe,从官网下载或者从网址下载链接:链接地址:https://pan.baidu.com/…...
韩国绿芯1~16通道触摸芯片型号推荐
随着技术的发展,触摸感应技术正日益受到更多关注和应用,目前实现触摸感应的方式主要有两种,一种是电阻式,另一种是电容式。电容式触摸具有感应灵敏、功耗低、寿命长等特点,因此逐步取代电阻式触摸,成为当前…...
Go语言设计与实现 -- http服务器编程
Go http服务器编程 初始 http 是典型的 C/S 架构,客户端向服务端发送请求(request),服务端做出应答(response)。 golang 的标准库 net/http 提供了 http 编程有关的接口,封装了内部TCP连接和…...
MySQL-视图
视图是什么? 一张虚表,和真实的表一样。视图包含一系列带有名称的行和列数据。视图是从一个或多个表中导出来的,我们可以通过insert,update,delete来操作视图。当通过视图看到的数据被修改时,相应的原表的数…...
都工作3年了,怎么能不懂双亲委派呢?(带你手把手断点源码)
💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…...
Hive 运行环境搭建
文章目录Hive 运行环境搭建一、Hive 安装部署1、安装hive2、MySQL 安装3、Hive 元数据配置到 Mysql1) 拷贝驱动2) 配置Metastore 到 MySQL3) 再次启动Hive4) 使用元数据服务的方式访问Hive二、使用Dbaver连接HiveHive 运行环境搭建 HIve 下载地址:http://archive.a…...
SAP ABAP 深度解析Smartform打印特殊符号等功能
ABAP 开发人员可以在 Smartform 输出上显示 SAP 图标或 SAP 符号。例如,需要在 SAP Smart Forms 文档上显示复选框形状的输出。SAP Smartform 文档上可以轻松显示空复选框、标记复选框以及 SAP 图标等特殊符号。 在 SAP Smartform 文档中添加一个新的文本节点。 1. 单击“更…...
React17+React Hook+TS4 最佳实践仿 Jira 企业级项目笔记
前言 个人笔记,记录个人过程,如有不对,敬请指出React17React HookTS4 最佳实践仿 Jira 企业级项目项目完成到第十章,剩下后面就没有看了,说的不是特别好 github地址:https://github.com/superBiuBiuMan/React-jira husky方便我们管理git hooks的工具 REST-API风格 https://zh…...
35- tensorboard的使用 (PyTorch系列) (深度学习)
知识要点 FashionMNIST数据集: 十种产品的分类. # T-shirt/top, Trouser, Pullover, Dress, Coat,Sandal, Shirt, Sneaker, Bag, Ankle Boot.writer SummaryWriter(run/fashion_mnist_experiment_1) # 网站显示一 tensorboard的使用 在网站显示pytorch的架构:1.1 …...
ChatGPT在工业领域的用法
在工业数字化时代,我们需要怎么样的ChatGPT? 近日,ChatGPT热度高居不下,强大的人机交互能力令人咋舌,在国内更是掀起一股讨论热潮。一时间,这场由ChatGPT引起的科技飓风,使得全球最顶尖科技力量…...
使用Chakra-UI封装简书的登录页面组件(React)
要求:使用chakra ui和react 框架将简书的登录页面的表单封装成独立的可重用的组件使用到的API:注册API请求方式:POST 请求地址:https://conduit.productionready.io/api/users请求数据: {"user":{ "username&quo…...
Three.js初试——基础概念(二)
前言 姊妹篇:Three.js初试——基础概念 介绍了 Three.js 的一些核心要素概念,这篇文章会讲一下它的关键要素概念。 之前我们了解到展示一个3D图像,必须要有场景、相机、渲染器这些核心要素,仅仅这些还不够,我们还需要…...
Qt音视频开发21-mpv内核万能属性机制
一、前言 搞过vlc内核后又顺带搞了搞mpv内核,mpv相比vlc,在文件数量、sdk开发便捷性方面绝对占优势的,单文件(可能是静态编译),不像vlc带了一堆插件,通过各种属性来set和get值,后面…...
C语言学生随机抽号演讲计分系统
6.学生随机抽号演讲计分系统(★★★★) 设计一款用于课程大作业检查或比赛计分的软件,基本功能: (1)设置本课程的学生总数 (2)根据本次参与的学生总数,随机抽取一个还未汇报演讲的学生的学号。 (3)每个学生汇报演讲完毕,输入该学生…...
Spring Boot 3.0系列【12】核心特性篇之任务调度
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.3 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 前言Spring Scheduler1. 单线程任务2. 自动配置3. 多线程异步任务Quartz1. 简介2. 核心组件2.1 Job(任务)2.2 Trigger(…...
Java操作XML
Java操作XML XML语法 一个XML文件分为文档声明、元素、属性、注释、CDATA区、特殊字符、处理指令。 转义字符 对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。 & > & < > < > > > " &g…...
女神节灯笼祝福【HTML+CSS】
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
CUDA并行计算基础知识
1、相关缩写术语 显卡:GPU 显卡驱动:驱动软件 GPU架构: 硬件的设计方式,例如是否有L1 or L2缓存 CUDA: 一种编程语言像C++, Python等,只不过它是专门用来操控GPU的 cudnn: 一个专门为深度学习计算设计的软件库,里面提供了很多专门的计算函数 CUDAToolkit:所谓的装cuda首先…...
88. 合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
