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

JavaScript基础——JavaScript常见语句(判断语句、循环语句、控制流语句)

        JavaScript提供了丰富的语句来控制程序的执行流程,包括用于条件判断的if、switch和三元运算符,以及用于循环的for、while、do...while、for...in和for...of。此外,还有控制流语句如break、continue和return。

判断语句

if 语句

         if 语句:用于基于条件执行代码块。语法如下:

if (condition) {// 条件为真时执行的代码
}

        定义变量记录一个分数,小于60分,在控制台上输出 “成绩不及格”。

         完整代码:

        var score = 56;if(score < 60) {// 符合条件的情况下,就进入执行 {} 中代码console.log("成绩不及格");}

if...else 语句 

        if...else 语句:在条件为假时提供一个备选的代码块。语法如下:

if (condition) {// 条件为真时执行的代码
} else {// 条件为假时执行的代码
}

        定义变量记录一个分数,大于等于60分,在控制台上输出 “成绩及格”,否则,输出“成绩不及格”。

        完整代码: 

    <script>var result = 40;if (result >= 60) {// 符合条件,执行if作用域 {} 的代码console.log("成绩及格");}else {// 否则,执行else作用域 {} 的代码console.log("成绩不及格");}</script>

if...else if...else 语句

        if...else if...else 语句:允许多个条件的判断。 语法如下:

if (condition1) {// 第一个条件为真时执行的代码
} else if (condition2) {// 第二个条件为真时执行的代码
} else {// 所有条件都不满足时执行的代码
}

         定义变量记录一个分数,根据以下给出的参数做判断。

        //  基础很差  0  ~ 39  

        //  基础差    40 ~ 59

        //  基础好    60 ~ 79

        //  基础很好  80 ~ 100

        //  未知分数

        完整代码:

    <script>// 3) 定义变量记录一个分数,根据以下给出的参数做判断//  基础很差  0  ~ 39  //  基础差    40 ~ 59//  基础好    60 ~ 79//  基础很好  80 ~ 100//  未知分数var value = 65;if (value >= 0 && value <= 39) {console.log("基础很差");}else if (value >= 40 && value <= 59) {console.log("基础差");}else if (value >= 60 && value <= 79) {console.log("基础好");}else if (value >= 80 && value <= 100) {console.log("基础很好");}else {console.log("未知分数");}</script>

三元运算符   

        三元运算符:一种简洁的条件表达式。相当于if...else,可以返回一个结果。语法如下:

条件是否成立?条件成立执行代码:条件不成立执行代码
let result = condition ? value1 : value2;

        判断b和c的大小,如果b大于c,则d等于b,否则等于c。

        完整代码:

    <script>// 判断b和c的大小,如果b大于c,则d等于b,否则等于cvar b = 10;var c = 20;var d = b > c ? b : c;console.log(d);</script>

循环语句 

        循环是重复执行的意思,可以减少重复冗余的代码。

for 循环

        for 循环:用于重复执行一段代码直到条件不再满足。语法如下:

for (初始化; 终止条件; 自增 / 自减) {循环体
}

        程序首先执行代码1,代码2,进入循环体,走出循环体,最后执行代码3。

        代码1:初始化一个值

        代码2:条件(要合理,否则出现死循环)

        代码3:控制值改变

for(代码1; 代码2; 代码3){循环体
}

        假设需要从0打印到9,初始化值为0,条件是小于10,自增。

        代码如下:

for (let i = 0; i < 10; i++) {console.log(i); // 打印0到9
}

while循环

        while 循环:只要条件为真,就重复执行代码块,与for相同,需要有条件和自增/自减,否则程序会陷入死循环。语法如下:

while (条件) {代码块;自增/自减;
}

        假设现在还是要打印0到9,首先定义变量为0,while循环的条件设置为小于10,自增。

        完整代码如下:

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

do...while循环

        do...while 循环:至少执行一次代码块,然后只要条件为真就继续执行。语法如下:

        假设现在还是要打印0到9,首先定义变量为0,do是执行打印和自增,while循环的条件设置为小于10。

        完整代码如下:

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

for...in 循环

        for...in 循环:遍历对象的属性。语法如下:

for (const 键 in 对象) {console.log(键, 对象[键]);
}

        设置一个对象,遍历这个对象,输出属性名与属性值。 

 

        完整代码如下: 

    <script>const obj = { a: 1, b: 2, c: 3 };for (const prop in obj) {console.log(prop, obj[prop]);}</script>

for...of循环

        for...of 循环:遍历可迭代对象(如数组、字符串等)。语法如下:

for (const 值 of 数组) {console.log(值);
}

        定义一个数组,遍历这个数组的值。

 

         完整代码如下:

    <script>const arr = ['apple', 'banana', 'cherry'];for (const fruit of arr) {console.log(fruit);}</script>

控制流语句

break 语句

        break 语句:用于立即退出循环或switch语句,执行break语句后,循环或switch语句后续的代码都不执行。语法如下:

for (...) {if (终止条件) {break; // 退出循环}
}

        设置一个循环,循环10次,到第5次时退出循环,在控制台观察输出,可以发现到5就不在输出后续的,说明程序到第5次执行break语句后,直接推出了循环。

        代码如下: 

    <script>for (let i = 0; i < 10; i++) {if (i === 5) {break; // 退出循环}console.log(i);}</script>

continue语句

        continue语句:用于跳过当前循环的剩余代码,直接进入下一次循环。执行continue语句后,退出执行的那一次循环或switch语句,执行后续的代码。语法如下:

for (...) {if (终止条件) {continue; // 退出循环}
}

        设置一个循环,循环10次,到第5次时退出循环,在控制台观察输出,可以发现第5次没有输出,其他都有输出,说明只是退出了第5次循环。

        完整代码如下:

    <script>for (let i = 0; i < 10; i++) {if (i === 5) {continue; // 退出循环}console.log(i);}</script>

return语句 

        return语句:用于从函数返回一个值,也有终止代码块(函数)的作用,如果有多个return,只执行第一个。

function myFunction() {return XXX;
}

        设置一个函数,返回hello world。

         完整代码如下:

    <script>function myFunction() {return 'Hello, World!';}console.log(myFunction());</script>

switch语句

        switch语句:用于基于不同的情况执行不同的代码块。语法如下:

switch (变量) {case 值1:执行代码1;break;case 值2:执行代码2;break;default:执行代码3;
}

        定义四个方向变量(上up 下down 左left 右right),满足某个条件执行某代码。

        完整代码如下:

    <script>// 定义方向变量(上up 下down 左left 右right)var direction = "right";// 控制流语句(分支处理)// switch(变量) {case 分支1:执行代码; break; case 分支2:执行代码 break; }switch (direction) {case "right":console.log('向右移动');break;case "left":console.log('向左移动');break;case "up":console.log('向上移动');break;case "down":console.log('向下移动');break;default:console.log('无效的方向');break;}</script>

        

相关文章:

JavaScript基础——JavaScript常见语句(判断语句、循环语句、控制流语句)

JavaScript提供了丰富的语句来控制程序的执行流程&#xff0c;包括用于条件判断的if、switch和三元运算符&#xff0c;以及用于循环的for、while、do...while、for...in和for...of。此外&#xff0c;还有控制流语句如break、continue和return。 判断语句 if 语句 if 语句&…...

材质球向shader传值失败

unity中导入spine模型&#xff0c;当模型挂载SkeletonMecanim组件后&#xff0c;发现材质球向shader传值失败&#xff0c;改为SetPropertyBlock后可行。 //spine模型使用材质球传参数&#xff0c;当spine模型上挂载有SkeletonMecanim的情况下&#xff0c;会传值失败!!!!// for…...

【TDH社区版大事件】图分析、全文检索、小文件治理、数据开发工具通通都有!

星环科技大数据基础平台TDH社区版&#xff0c;在保留了商业版核心技术优势的基础上最大程度地降低了用户使用大数据技术的门槛与成本&#xff0c;具有更轻量、更简单、更易用等特性。 此次TDH社区开发版、社区版、社区订阅版均发布了新版本&#xff0c;带来新的产品组件和新的…...

【反序列化漏洞】serial靶机详解

一、安装靶机 首先创建新的虚拟机。 然后选择客户机版本为Ubuntu 64位。 然后选择使用现有磁盘&#xff0c;选择下载的vmdk磁盘文件即可。剩下的都是默认 二、信息收集 发现主机192.168.204.143 访问 扫描端口nmap -A 192.168.204.143 -p-&#xff0c;发现只有ssh:22和http:8…...

C#列表按照日期进行从大到小排序

C#列表按照日期进行从大到小排序...

rt-thread每个线程状态切换方法

线程状态 RT-Thread 中线程的状态定义在 rt_thread.h 头文件中&#xff0c;通常包括以下几种状态&#xff1a; RT_THREAD_INIT&#xff1a;线程初始化状态。RT_THREAD_READY&#xff1a;线程就绪状态。RT_THREAD_SUSPEND&#xff1a;线程挂起状态。RT_THREAD_RUNNING&#xf…...

visual studio跳转到上一个/下一个光标处的快捷键设置

vscode能通过Alt左右箭头跳转到上/下一个光标处&#xff0c;这对于“点进函数看源码&#xff0c;看完后跳转到原来位置”是非常方便的。 在Visual Studio中&#xff0c;有2种方法实现这样的功能。 第一种&#xff0c;直接点击这两个按钮&#xff1a;&#xff08;缺点是每次要用…...

网络基础命令配置复习 (基础华为设备)

目录 一.前言 二.Telnet远程登陆 2.1telnet介绍 2.2telnet的配置 三.交换机基础配置 四.致谢 一.前言 网络基础不仅是IT从业者的必备知识&#xff0c;也是日常生活中使用网络的人们应该了解的内容。通过学习和掌握这些基础知识&#xff0c;你将能更好地理解和利用现…...

在AspNetCoreRateLimit中,ClientRateLimiting 和 IpRateLimiting 都有的时候按谁的来

在AspNetCoreRateLimit中&#xff0c;当同时配置了ClientRateLimiting&#xff08;基于客户端ID的速率限制&#xff09;和IpRateLimiting&#xff08;基于IP地址的速率限制&#xff09;时&#xff0c;它们的应用方式主要取决于请求的特性和配置的设置。以下是对这两种速率限制方…...

PEP 8 – Python 代码风格指南中文版(五)

强制性&#xff1a;命名约定 应避免的命名 永远不要使用字符‘l’&#xff08;小写字母el&#xff09;、‘O’&#xff08;大写字母oh&#xff09;或‘I’&#xff08;大写字母eye&#xff09;作为单字符变量名。在某些字体中&#xff0c;这些字符与数字1和0难以区分。当想使…...

Spring中是如何实现IoC和DI的?

前言&#xff1a;在前一篇文章中对于IoC的核心思想进行了讲解&#xff0c;而本篇文章则从Spring的角度入手&#xff0c;体会Spring对于IoC是如何实现的。 如果对IoC还有不太了解的可以阅读上一篇文章&#xff0c;相信一定会带来全新的收获&#xff1a;什么是IoC&#xff08;控制…...

Excel第33享:借助易用宝将多个表格合并到一个表格

1、需求描述 现有3个销售数据的Excel表格&#xff0c;希望将其整合到一个表格里&#xff0c;如下图所示。 2、具体操作 &#xff08;1&#xff09;下载一个插件“易用宝”。 下载地址&#xff1a;最新版下载 | Excel易用宝 如果本地址失效&#xff0c;可以直接百度搜索“易…...

opencascade AIS_TrihedronOwner源码学习对象的实体所有者用于选择管理

opencascade AIS_TrihedronOwner 前言 AIS_Trihedron对象的实体所有者用于选择管理。 在OpenCascade的AIS&#xff08;交互对象框架&#xff09;中&#xff0c;管理类似AIS_Trihedron的对象的选择涉及理解如何处理实体&#xff08;或所有者&#xff09;以进行选择。 方法 1…...

面试经典算法150题系列-跳跃游戏||

跳跃游戏|| 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 num…...

uniapp h5支付(支付宝和微信支付)

支付宝和微信支付 支付宝 创建一个页面&#xff0c;复制下面即可 <template><view><div class"body" v-html"formUrl"></div></view> </template><script>export default {data() {return {formUrl: // 用于…...

Radamsa:一款高性能通用模糊测试工具

关于Radamsa Radamsa是一款高性能的通用模糊测试工具&#xff0c;广大研究人员可以将其当作一个应用程序稳定性测试的测试用例生成工具。 工具运行机制 该工具使用简单&#xff0c;支持自定义脚本开发&#xff0c;可以用于测试程序对格式错误和潜在恶意输入的承受能力。它的工…...

css中使用data中的变量

一、定义变量 data() {return {myColor:"#2a9efb",}; },二、在templete中激活 说明&#xff1a;这里其实类似于设置 document.documentElement.style.setProperty(--myColor, myColor),而我们现在只是给div设置了变量属性&#xff0c;并且是在当前页面设置的&#x…...

Java 设计模式之策略模式 (Strategy Pattern) 详解

Java 设计模式之策略模式 (Strategy Pattern) 详解 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;旨在定义一系列算法&#xff0c;将每个算法封装起来&#xff0c;并使它们可以互相替换&#xff0c;从而使得算法的变化不会影响使用算法的…...

习题20240803(未完成)

文章目录 一、Linq练习 使用Linq完成下面练习1.题目: 返回 numbers 列表中的所有数字。2.题目: 返回 numbers 列表中的所有偶数。3.题目: 返回 numbers 列表中所有大于10的数字。4.题目: 返回 students 列表中所有学生的姓名。5.题目: 返回 numbers 列表按升序排序后的数字。6.…...

C语言程序设计25

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 习题2.2 分析下面程序的运行结果&#xff0c;然后上机验证。 代码&#xff1a; //《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 //习题2.2 分析下面程序的运行结果&#xff0c;然后上机验证。#inc…...

TypeScript 基础类型与类型声明

前言 在 JavaScript 中&#xff0c;变量是没有类型的&#xff0c;变量的值的类型是在运行时确定的&#xff0c;这被称为动态类型。 这意味着可以在不同的时间将不同类型的值赋给同一个变量&#xff0c;并且 JavaScript 会在运行时根据当前赋给变量的值来确定其类型。 示例&…...

算法:BFS 解决多源最短路问题

目录 多源最短路 题目一&#xff1a;矩阵 题目二&#xff1a;飞地的数量 题目三&#xff1a;地图中的最高点 题目四&#xff1a;地图分析 多源最短路 首先想要知道多源最短路&#xff0c;就先要明白单源最短路&#xff0c;bfs解决单源最短路问题前面学习过&#xff0c;单…...

grep工具的使用

grep [options]…… pattern [file]…… 工作方式&#xff1a; grep 在一个或者多个文件中搜索字符串模板&#xff0c;如果模板中包括空格&#xff0c;需要使用引号引起来&#xff0c;模 板后的所有字符串会被看作是文件名。 工作结果&#xff1a;如果模板搜索成功&#xf…...

Langchain核心模块与实战[9]:RAG检索增强生成[文本向量化、实战ChatDoc智能文档助手]

Langchain核心模块与实战[9]:RAG检索增强生成[文本向量化、实战ChatDoc智能文档助手] 参考文章可以使用国产LLM进行下述项目复现: 初识langchain[1]:Langchain实战教学,利用qwen2.1与GLM-4大模型构建智能解决方案[含Agent、tavily面向AI搜索]langchain[2]:Langchain实战教…...

Java从入门到精通(十五) ~ IO流

晚上好&#xff0c;愿这深深的夜色给你带来安宁&#xff0c;让温馨的夜晚抚平你一天的疲惫&#xff0c;美好的梦想在这个寂静的夜晚悄悄成长。 目录 前言 什么是IO流&#xff1f; IO流的作用&#xff1a; 一、基础流 1. 字节流 1.1 字节输入流 FileInputStream 1.2 字节…...

C Primer Plus 第4章——第二篇

你该逆袭了 第4章&#xff1a;重点摘录 五、scanf( )1、使用 scanf( )(1)转换说明 *(2)转换说明 数字(3)转换说明 hh(4)scanf 中其他的转换说明&#xff0c;不作详细解释&#xff0c;用到的时候再去学习即可 2、从 scanf( ) 角度 看 输入3、格式字符串中的普通字符4、scanf&…...

优化海外用户体验,畅通支付路径!来了解WeTest的本地化支付测试方案

在APP出海的全生命周期中&#xff0c;支付系统的稳定运行是至关重要的一环。随着产品服务覆盖地区的拓展、APP内付费功能的拓展以及不同地区用户对多样化支付渠道的需求增加&#xff0c;出海APP的当地支付体验的优劣直接影响到海外用户的消费决策。 然而海外支付风控升级&#…...

VUE框架面试整理-模板语法

Vue.js 的模板语法允许你声明式地将数据绑定到 DOM。以下是一些常见的模板语法和用法: 插值 插值语法用于在 HTML 中插入数据。 <p>{{ message }}</p>data:...

【C语言】fseek、ftell以及rewind函数(随机文件读写)

文章目录 前言1. fseek1.1 fseek函数原型1.2 fseek函数的形式参数1.3 fseek实例演示 2. ftell2.1 ftell函数原型2.2 ftell函数的实例演示 3. rewind3.1 rewind函数原型3.2 rewind函数实例演示 前言 在之前&#xff0c;我讲过文件的顺序读写。但是我们可不可以随机读写文件呢&a…...

使用 Elastic Observability 中的 OpenTelemetry 进行基础设施监控

作者&#xff1a;来自 Elastic ISHLEEN KAUR 将 OpenTelemetry 与 Elastic Observability 相结合&#xff0c;形成应用程序和基础设施监控解决方案。 在 Elastic&#xff0c;我们最近决定全面采用 OpenTelemetry 作为首要的数据收集框架。作为一名可观察性工程师&#xff0c;我…...