目录
流程控制语句
顺序结构
分支结构
if语句
if的加强版if else语句(双分支语句)
if 语句的超级加强版 if else if(多分支语句)
switch语句
循环结构
循环的目的
Js中的循环
for循环
continue 和break
命名规范及其语法
首页 web前端 js教程 完全掌握javascript流程控制结构(顺序结构、分支结构和循环结构)

完全掌握javascript流程控制结构(顺序结构、分支结构和循环结构)

Aug 03, 2022 pm 06:08 PM
javascript

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于JavaScript中流程控制结构的相关问题,流程控制主要有三种结构:分别是顺序结构,分支结构和循环结构,这三种结构代表代码执行的顺序,下面一起来看一下,希望对大家有帮助。

完全掌握javascript流程控制结构(顺序结构、分支结构和循环结构)

【相关推荐:javascript视频教程web前端

流程控制语句

在一个程序执行的过程,各条代码的执行顺序对结果是有直接影响的,汗多时候我们要通过控制代码的执行顺序来实现我们要完成的功能

简要理解:流程控制就是控制我们所写的代码按照什么样的顺序来执行,以此达到我们的目的。

流程控制主要有三种结构:分别是顺序结构,分支结构和循环结构,这三种结构代表代码执行的顺序。

在这里插入图片描述

顺序结构

顺序结构是程序中最简单的,最基础的流程控制,我们之前写的代码都属于顺序结构(也就是从上往下依次执行),它没有固定的语法结构,程序会按照代码的先后顺序,依次执行

分支结构

由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果

1.21js语言提供了两种分支结构语句

  • if语句
  • switch语句

if语句

//条件成立执行代码,否则什么也不做

if(条件表达式){

//条件成立执行的代码语==条件表达式为真才执行

}

语句可以理解为一个行为,循环语句和分支语句就是典型的语句,一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句

代码示范

		var age=19;
		if(age>=18){
		console.log('你已经是成年人了');
            //输出你已经是成年人了,因为age=19;,大于18就会执行if里面的语句
		}
		
		var age=1;
		if(age>=18){
		console.log('你已经是成年人了');
            //啥也不输出。age=1;<18,不会执行if里面的语句,故啥没有
		}
登录后复制

执行流程
在这里插入图片描述

if的加强版if else语句(双分支语句)

语法结构

//条件成立,执行if里面代码,否则执行else里面的代码

if(条件表达式){

//满足条件执行的代码

}else{

//不满足条件执行的代码

}

执行流程

在这里插入图片描述

代码示范

		var age=prompt(&#39;请输入你的年龄&#39;);//用户输入
		if(age>=18){
			console.log('你可以喝酒了');
		}else{
			console.log('不好意思未成年人只能喝AD钙');
		}
	//判断年份是否为润年
		var year=prompt('请输入年份:');
		if(year%4==0&&year%100!=0||year%400==0){
			alert('您输入的年份是闰年');
		}else{
			alert('您输入的年份是平年');
		}
登录后复制

if 语句的超级加强版 if else if(多分支语句)

语法结构

//适用于检查多重条件

if(条件表达式){

语句1;

}else if(条件表示式){

语句2;

}else if(条件表示式){

语句3;

……

}else{

//上述条件都不成立执行此代码

}

流程控制

在这里插入图片描述

代码示范

	//迷你计算器  : 输入两个数以及运算符号得出相应
			
			var yi = +prompt('请输入第一个数字'); //请用加减乘除隐式转换成数字类型,或者用					praseInt(变量)或parsefloat(变量)整数和浮点数
			var fuhao = prompt('请输入运算符');
			var er = +prompt('请输入第二个数字');
			if (fuhao == '+') {
				var shu = yi + er;
			} else if (fuhao == '-') {
				var shu = yi - er;
			} else if (fuhao == '/') {
				var shu = yi / er;
			} else if (fuhao == '*') {
				var shu = yi * er;
			} else if (fuhao == '%') {
				var shu = yi % er;
			} else {
				alert('请按要求输入:');
			}
			alert(shu);
登录后复制

switch语句

switch语句也是多分支语句,它用于基于不同的条件;来执行不同的代码,当要针对变量设置一系列的特定值时选用switch

switch(表示式){

case value1:

//表达式等于value1时要执行的代码

break;

case value2:

//表达式等于value2时要执行的代码

break;

default:

//表达式不等于任意一个value时要执行的代码

}

流程控制

在这里插入图片描述

代码示范

		var fruit =prompt('请输入你要买的水果:');
		switch(fruit){
			case '苹果':
			alert('苹果的价格是:3.5/斤');
			break;
			case '荔枝':
			alert('荔枝的价格是:10.5/斤');
			break;
			default:
			alert('没有水果');
		}
登录后复制

注意

  • 我们在开发里表达式我们经常写成变量
  • 当fruit的值和case 里面的值匹配时必须是全等,也就是数据类型和值都必须一样
  • break 如果当前的case里面没有break 则不会退出switch 会继续执行下一个case

switch语句和if else if语句的区别

  • 一般情况下,它们两个语句可以相互转换

  • switch ……case 语句通常处理case为比较确定值的情况,而if ……else ……语句更加灵活,常用于范围判断(大于,等于某个范围)

  • switch语句进行条件判断后直接执行到程序的条件语句,效率更高,而if ……else ……语句有几种条件,就得判断多次。

  • 当分支比较少时,if……else……语句的执行效率比switch语句高

  • 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰

循环结构

循环的目的

在实际问题中,有许多具有规律性的重复操作,因此在程序中要执行这类操作就要重复执行某些语句

Js中的循环

在Js中,主要有三种类型的循环语句

  • for循环
  • while循环
  • do ……while循环

for循环

在程序中,一组被重复执行的语句被称为循环体,能否继续重复执行,取决于循环终止的条件,由循环体及

循环终止条件组成的语句,被称为循环语句

语法结构

for循环主要用于把某些代码重复若干次,通常跟计数有关。其语句结构如下

for(初始化变量;条件表达式;操作表达式){

//循环体

}

流程控制

在这里插入图片描述

代码示范

	for (var i=1;i<=10;i++){
				console.log('你喜欢我吗?');
			}//计算班级总成绩,以及平均分
		var num = prompt('请输入班级的总人数')
			var sum = 0,
				average = 0;
			for (var i = 1; i <= num; i++) {
				var score = prompt('请输入第' + i + '个学生的成绩')
				//从prompt取过来的数据是字符串需要转换成数字
				sum += parseInt(score);
			}
			average = sum / num;
			alert('班级的总成绩:' + sum);
			alert('班级的平均分:' + sum);//一行打印5颗心
	for (var i=0;i<=4;i++){
			console.log('*');
			}
登录后复制

双层for循环(循环嵌套)

循环嵌套是指在一个循环语句里再定义一个循环语句的语法结构,例如在for循环里再嵌套一个for循环,这样的for循环语句我们称之为双层for循环

  • 我们把里面的循环称之为内层循环,外面的 称之为外层循环

  • 外层循环循环一次,内层循环从头到尾执行一遍

代码示范

	//低级:5行5列
	var str='';
			for  (var i=0;i<=4;i++){
				for (var j=0;j<=4;j++){
					str+='*';
				}
				str+='\n';
			}
			console.log(str);

	//高级:n行n列
	var rows = prompt('请输入行数:');
			var cols = prompt('请输入列数');
			var str='';
			for (var i = 1; i <= rows; i++) {
				for (var j = 1; j <= cols; j++) {
				str+='*';
				}
				str+='\n';
			}
			console.log(str);

	//打印倒三角型形
		var str='';
			for (var i=1;i<=10;i++){
				for (var j=i;j<=10;j++){
					str+='*';
				}
				str+='\n';
			}
			console.log(str);
   /*   1	********** 10 
		2	*********9
		3	********8
		4	*******7
		5	******6
		6	*****5
		7	****4
		8	***3
		9	**2
		10	*1  *///核心算法:var j=i;j<=10;j++//思路:先分析结果,观察行与列关系。再确定内层循环的算法//打印正三角形,同上思路。
			var str='';
			for (var i=1;i<=9;i++){
				for (var j=1;j<=i;j++){
					str+='*';
				}
				str+='\n';
			}
			console.log(str);//打印九九乘法表,就是把正三角形的星号换成等式
			var str = '';
			for (var i = 1; i <= 9; i++) {
				for (var j = 1; j <= i; j++) {
					/* str+='*'; */
					str += i + '*' + i + '=' + i * j + ' \t';
				}
				str += '\n';
			}
			console.log(str);//切记:外层循环循环一次,内层循环从头到尾执行一遍,只是打印图形的本质
登录后复制

for循环小结

  • for循环可以重复执行某些重复的代码
  • for循环可以超重复执行不同的代码,因为我们有计数器
  • for循环可以重复执行某些操作,比如算术运算加法操作
  • 双层for循环:外层循环循环一次,内层循环从头到尾执行一遍
  • for循环的循环条件是和数字直接相关的循环

while循环

while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不满足条件时结束循环

while语句的语法结构

while(条件表达式){

//循环体语句;

}

执行思路:

  • 先执行条件表达式,如果条件为true,则执行循环体代码,反之,则退出循环,执行后面的代码

  • 执行循环体代码

  • 循环体代码执行完毕后,程序会继续判断执行条件表达式,如果条件还是为true则继续执行循环体,直到循环条件为false时,整个循环体过程才会结束

流程控制图如下

在这里插入图片描述

代码示范

			var num=1; //初始化变量
			while(num<=10){//条件表达式
				console.log('Hello world');
				num++;//操作表达式
			}
登录后复制

注意:

  • while里面也有操作表示式, 完成计数器的更新,防止死循环(我没加操作表达式,去运行代码结果谷歌浏览器界面黑了)

  • 里面应该也有计数器初始化变量

  • while循环在某种程度上可以与for循环等价,只需要把while里面初始化变量;条件表达式;操作表达式;放到for循环里就可以了

代码示范

			//打印人的一生,从1岁到120岁
 			var age = 1;
			while (age <= 120) {
				console.log('这个人今年' + age + '岁了');
				age++;
			}
			//2.计算1~100之间的所有整数和
			var sum = 0,
				i = 1;
			while (i <= 100) {
				sum += i;
				i++;
			}
			console.log(sum); 
			//3.单出一个对话框,你爱我吗?如果输入我爱你,就提示结束,否则一直询问
			var message='你爱我吗';
			while(message!=='我爱你'){
				message=prompt('你爱我吗?');
			}
			alert('我也爱你啊');
登录后复制

do ……while循环

do……while 语句其实就是while语句的一个变种,该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环

do……while语句的语法结构如下

do {

//循环体代码- 条件表达式为true时重复执行循环体代码

}

执行思路:

  • 先执行一次循环体代码

  • 再执行条件表达式,如果结果为true,则继续执行循环体代码,如果为false,则退出循环,继续执行后面的代码

注意:先执行循环体语句,再判断,我们就会发现do……while循环语句至少会执行一次循环体。

流程控制

在这里插入图片描述

代码示范

			//打印人的一生,从1岁到120岁
			var age = 1;
			do {
				console.log('这个人今年' + age + '岁了');
				age++;
			} while (age <= 120);
			//2.计算1~100之间的所有整数和
			var sum = 0,
				i = 1;
			do {
				sum += i;
				i++;
			} while (i <= 100)
			console.log(sum);
			//3.单出一个对话框,你爱我吗?如果输入我爱你,就提示结束,否则一直询问
			var message = '你爱我吗';
			do {
				message = prompt('你爱我吗?');
			} while (message !== '我爱你');
			alert('我也爱你啊');
登录后复制

循环小结

  • JS中循环有for,while,do……while
  • 三种循环很多情况下都可以相互交替使用
  • 如果是用来计次数,跟数字有关的,三者使用基本相同,更推荐使用for
  • while,do……while可以做更加复杂的判断条件,比for循环灵活一些
  • while和do…… while执行顺序不一样,while先判断后执行,do……while先执行一次,再判断执行
  • while和do…… while执行次数不一样,do……while至少会执行一次循环体,而while可能一次也不执行
  • 重点学习for循环语句,因为它写法更简洁

continue 和break

continue关键字用于立即跳出本次循环,继续下一次循环(本次循环体中continue之后的代码就会少执行一次)。

如:吃5个包子,第三个有虫子,就扔掉第三个,继续吃第四个第五个包子

代码示范

		for (var i = 1; i <= 5; i++) {
				if (i == 3) {
					continue;
				}
				console.log('我吃了第' + i + '个包子');
			}
			
			结果: //我吃了第1个包子
			      //我吃了第2个包子
			      //我吃了第4个包子
			      //我吃了第5个包子
登录后复制

break关键字

break关键字用于立即跳出整个循环(循环结束)

如:吃五个包子,吃到第三个又发现了一条虫,就没胃口吃了。

代码示范

			for (var i = 1; i <= 5; i++) {
				if (i == 3) {
					break;
				}
				console.log('我吃了第' + i + '个包子');
			}
		结果;//我吃了第1个包子
			//我吃了第2个包子
登录后复制

命名规范及其语法

标识符命名规范

  • 变量,函数名必须有意义
  • 变量的名称一般用名词
  • 函数的名称一般用动词

单行注释规范

			for (var i = 1; i <= 5; i++) {
				if (i == 3) {
					continue; //单行注释前面 注意前面有个空格
				}
				console.log('我吃了第' + i + '个包子');
			}
登录后复制

操作符规范

//操作符的左右两侧各保留一个空格
	for (var i = 1; i <= 5; i++) {
				if (i == 3) {
					break;
				}
				console.log('我吃了第' + i + '个包子');
			}
登录后复制

【相关推荐:javascript视频教程web前端

以上是完全掌握javascript流程控制结构(顺序结构、分支结构和循环结构)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

如何在JavaScript中获取HTTP状态码的简单方法 如何在JavaScript中获取HTTP状态码的简单方法 Jan 05, 2024 pm 01:37 PM

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务

See all articles