JavaScript判断/循环(if / switch / while / do-while / for / forEach())

JavaScript编程的三大结构

编程的三大结构

  • 顺序结构
  • 选择结构
  • 循环结构

1、顺序结构

  • 顺序结构式从上到下执行,JavaScript默认情况下是顺序结构

2、选择结构

(1)if 判断

应用场景

  • 主要用于范围判断
1) 单分支案例

① 语法格式:
//如果分数大于等于60,则输出成绩及格

		let score = 90;
		if (条件表达式){
    
    
			//满足条件执行;
		}

② 示例:

	<script>
		let score = 90;
		if (score >= 60){
    
    
			alert(`成绩及格`);
		}
	</script>

③ 运行效果

在这里插入图片描述

2) 双分支案例

① 语法格式:
//如果分数大于等于60,则输出成绩及格,否则输出成绩不及格

		let score = 59;
		if (条件表达式) {
    
    
			//满足条件执行;
		}
		else {
    
    
			//不满足条件执行;
		}

② 示例:

	<script>
		let score = 59;
		if (score >= 60) {
    
    
			alert(`成绩及格`);
		}
		else {
    
    
			alert(`成绩不及格`);
		}
	</script>

③ 运行效果

在这里插入图片描述

3) 多分支案例

① 语法格式:
//如果分数>=90 <=100,输出A
//否则 如果分数>=80 <90,输出B
//否则 如果分数>=70 <80,输出C
//否则 如果分数>=60 <70,输出D
//否则输出不及格)

		let score = 80;
		if (条件表达式) {
    
    
			//执行操作;
		}
		else if (条件表达式) {
    
    
			//执行操作;
		}
		else if (条件表达式) {
    
    
			//执行操作;
		}
		else if (条件表达式) {
    
    
			//执行操作;
		}
		else {
    
    
			//所有条件不满足时,执行操作;
		}

② 示例:

	<script>
		let score = 80;
		if (score >= 90 && score <= 100) {
    
    
			alert(`成绩等级为:A`);
		}
		else if (score >= 80 && score < 90) {
    
    
			alert(`成绩等级为:B`);
		}
		else if (score >= 70 && score < 80) {
    
    
			alert(`成绩等级为:C`);
		}
		else if (score >= 60 && score < 70) {
    
    
			alert(`成绩等级为:D`);
		}
		else {
    
    
			alert(`成绩不及格`);
		}
	</script>

③ 运行效果

在这里插入图片描述

(2)switch 判断

Switch描述:
  • switch判断,有一个case满足条件后,后面的将不在判断,直接输出结果,直到遇到break;
  • default可以放在switch中的任何地方,但是一般放在末尾;
应用场景
  • switch主要用于等值判断,case判断相等时,是全等比较;
1) 案例

① 语法格式:
//判断星期一到星期天,1~7代表星期一到星期天

		let days = parseInt(prompt(`提示内容`));
		switch (条件表达式) {
    
    
			case 匹配条件:
				//执行操作;
				//break;
			case 匹配条件:
				//执行操作;
				//break;
			case 匹配条件:
				//执行操作;
				//break;
			case 匹配条件:
				//执行操作;
				//break;
			case 匹配条件:
				//执行操作;
				//break;
			case 匹配条件:
				//执行操作;
				//break;
			case 匹配条件:
				//执行操作;
				//break;
			default:
				//所有条件不满足时,执行操作;
			}

② 示例:

	<script>
		let days = parseInt(prompt(`请输入1~7的数字`));
		switch (days) {
    
    
			case 1:
				alert(`今天是星期一`);
				break;
			case 2:
				alert(`今天是星期二`);
				break;
			case 3:
				alert(`今天是星期三`);
				break;
			case 4:
				alert(`今天是星期四`);
				break;
			case 5:
				alert(`今天是星期五`);
				break;
			case 6:
				alert(`今天是星期六`);
				break;
			case 7:
				alert(`今天是星期天`);
				break;
			default:
                alert(`输入有误`);
			}
		</script>		

③ 运行效果

1)输入在这里插入图片描述

2)输出
在这里插入图片描述

3、循环结构

(1)while 循环

① 语法格式:
//特点:先判断,在执行,满足条件执行,不满足条件不执行
//输出1~10的数字

		let a = 1;
		while(循环条件) {
    
    
			//循环操作
		}

② 示例:

	<script>
		let a = 1;
		while(a <= 10){
    
    
			document.write(a + " ");  
			// +在这里用作连接," "是有一个空格的字符串,每次输出结果后,添加一个空格
			a++;
		}
	</script>

③ 运行效果

在这里插入图片描述

(2)do-while 循环

① 语法格式:
//特点:先执行,后判断,条件不满足,也至少执行一次
//输出1~10的数字

		let a = 1;
		do {
    
    
			//循环操作
		}
		while(循环条件);

② 示例

	<script>
		let a = 1;
		do {
    
    
			document.write(a + " ");
			// +在这里用作连接," "是有一个空格的字符串,每次输出结果后,添加一个空格
			a++;
		}
		while(a <= 10);
	</script>

③ 运行效果

在这里插入图片描述

(3)for 循环

注意事项(执行顺序)

① 执行初始条件
② 执行判断条件
③ 条件为真时,执行循环操作
④ 初始条件改变
⑤ 重复第②、③、④步操作,直至条件为假,结束循环

① 语法格式:
//特点:先判断,后执行,满足条件执行,不满足条件不执行
//输出1~10的数字

		for(循环条件) {
    
    
			//循环操作
		}

② 示例:

	<script>
		for (let i = 1;i <= 10;i++) {
    
    
			document.write(i + " ");
			// +在这里用作连接," "是有一个空格的字符串,每次输出结果后,添加一个空格
		}
	</script>

③ 运行效果

在这里插入图片描述

4 拓展 — forEach() & filter()

(1)forEach()循环

① 语法格式:
//遍历数组

	//声明数组
	let 数组名 = [数组内容];
	
	//for循环写法
	for (i = 0; i < 数组名.length; i++){
    
    
		//输出结果
	}
	//forEach写法
	数组名.forEach((参数) => {
    
    
		//输出结果
	})

② 示例:

	<script>
		let arr = ['a','b','c'];

		console.log(`for循环执行结果`);
		for (i = 0; i < arr.length; i++){
    
    
			console.log(arr[i]);
		}

		console.log(`forEach循环执行结果`);
		arr.forEach((item) => {
    
    
			console.log(item);
		})
		//一个参数可简写:arr.forEach(item => console.log(item));
	</script>

③ 运行效果

Picture

(2)filter()过滤

① 语法格式:

	//声明数组
	let 数组1 = [数组内容];
	let 数组2 = [];
	let 数组3 = [];
		
	//for循环
	for (i = 0; i < 数组1.length; i++){
    
    
		if (数组1[i] >= 10){
    
    
			数组2.push(数组1[i]); 
		}
	}
	console.log(`for循环执行结果:${
      
      数组2}`);

	//filter过滤
	数组3 = 数组1.filter((item) => {
    
    
		return item >=10
	});
	console.log(`filter过滤执行结果:${
      
      数组3}`)

② 示例:

	<script>
		let arrOne = [2,5,11,16,28,34,78];
		let arrTwo = [];
		let arrThr = [];
		
		//for循环
		for (i = 0; i < arrOne.length; i++){
    
    
			if (arrOne[i] >= 10){
    
    
				arrTwo.push(arrOne[i]); 
			}
		}
		console.log(`for循环执行结果:${
      
      arrTwo}`);

		//filter过滤
		arrThr = arrOne.filter((item) => {
    
    
			return item >=10;
		});
		//一个参数可简写:arrThr = arrOne.filter(item => item >= 10);
		console.log(`filter过滤执行结果:${
      
      arrThr}`)
	</script>

③ 运行效果

Picture

更多学习,请参考官方文档

① do-while: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/do…while
② Switch: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch
③ While:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/while
④ If: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for

猜你喜欢

转载自blog.csdn.net/StupidlyGrass/article/details/128693541