关于JavaScript中的分支结构和循环结构,其实和其他编程语言区别也不是很大,只是js对这两种结构进行了相应的扩充,当然本质上并没有变化,本篇就是一篇记录博主在学习前端路上的总结和敲过的demo,实际上水份很大,但是保留博主在学习路上的笔记,对于大部分开发者而言,这些都是常识,大家都知道,但是对于博主而言,这些是博主成长路上的见证,是博主本人宝贵的财富。
JS中的分支结构
if
用于根据条件执行不同的代码块。
if (condition) {
// 如果条件为真,执行这里的代码
}
if-else
if (condition) {
// 如果条件为真,执行这里的代码
} else {
// 如果条件为假,执行这里的代码
}
if - else if - else
用于根据多个条件执行不同的代码块。
if (condition1) {
// 如果条件1为真,执行这里的代码
} else if (condition2) {
// 如果条件2为真,执行这里的代码
} else {
// 如果以上条件都为假,执行这里的代码
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript">
/*
*prompt()可以弹出一个提示框,该提示框中会带有一个文本框
*用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数
* 该字符串将会作为提示框的提示文字
* 用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接受该内容
*/
//练习一
/*
var score = prompt("小明的期末考试成绩:");
if(score == 100)
{
document.write("奖励一辆BMW");
}
else if(score >=80 && score <=99)
{
document.write("奖励一台iphone15s");
}
else if(score >=60 && score <80)
{
document.write("奖励一本参考书");
}
else
{
document.write("无任何奖励");
}
*/
//练习二
/*
var height = prompt("男方身高为(单位cm):");
var rich = prompt("男方家境情况(单位万):");
var appearance = prompt("男方帅气值:");
if(height >=180 && rich>=1000 && appearance >= 500)
{
document.write("我一定要嫁给他");
}
else if(height >=180 || rich >= 1000 || appearance >= 500)
{
document.write("嫁吧,比上不足,比下有余。");
}
else
{
document.write("不嫁");
}
*/
//练习三,prompt输入的变量类型是字符串,前面加个+让其变成Number类型
var num1 = +prompt("请输入第一个整数:");
var num2 = +prompt("请输入第二个整数:");
var num3 = +prompt("请输入第三个整数:");
var num4;
console.log(typeof num1);
/*if(num1 >= num2)
{
num4 = num1;
num1 = num2;
num2 = num4;
}
if(num1 >= num3)
{
num4 = num1;
num1 = num3;
num3 = num4;
}
if(num2 >= num3)
{
num4 = num2;
num2 = num3;
num3 = num4;
}
document.write(num1 +"<" + num2 +"<" + num3);*/
</script>
</head>
<body>
</body>
</html>
switch
用于根据不同的表达式值执行不同的代码块。
switch (expression) {
case value1:
// 如果表达式的值等于value1,执行这里的代码
break;
case value2:
// 如果表达式的值等于value2,执行这里的代码
break;
default:
// 如果表达式的值不匹配任何case,执行这里的代码
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript">
/*
*对于成绩大于60分的,输出合格
*低于60分的,输出不合格
*/
var score = +prompt("输入你的成绩:");
switch(true)
{
case score >=60:
document.write("合格");
break;
default:
document.write("不合格");
break;
}
/*var num2= +prompt("输入一个数字(1~7):");
switch(num2)
{
case 1:
document.write("星期一");
break;
case 2:
document.write("星期二");
break;
case 3:
document.write("星期三级");
break;
case 4:
document.write("星期四");
break;
case 5:
document.write("星期五");
break;
case 6:
document.write("星期六");
break;
case 7:
document.write("星期日");
break;
}*/
</script>
</head>
<body>
</body>
</html>
三元运算符
let result = condition ? value1 : value2;
循环结构
循环结构用于重复执行一段代码,直到满足特定条件为止。循环结构可以解决需要重复执行相同或类似任务的问题。JavaScript中存在一些特殊的循环结构,当然本质上和其他语言的循环结构大致都是相同的,万变不离其宗,大体还是相同的。接下来跟着我一起来了解一下JavaScript的循环结构吧。
for循环
这个大众都知道,只要你从事编程,这个都不知道,那么你该恶补一下基础知识了,for循环是我们用的最多的一种循环结构。他用于指定初始条件,循环条件,和每次迭代后的操作
for (初始化; 循环条件; 迭代操作) {
// 循环体中的代码
}
//for循环从0开始,每次迭代增加1,直到i小于5为止。循环体中的代码会被执行5次,分别输出0到4。
for (let i = 0; i < 5; i++) {
console.log(i);
}
for循环适用于已知循环次数的情况,可以通过控制循环条件和迭代操作来控制循环的执行次数。
while循环
在循环开始之前检查循环条件,只要条件为true,那就会重复执行循环体中的代码。注意:使用不当容易造成死循环,建议结合break使用
while (循环条件) {
// 循环体中的代码
}
//while循环会在每次迭代之前检查条件i是否小于5。只要条件为真,循环体中的代码会被执行。循环体中的代码会被执行5次,分别输出0到4。
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
while循环适用于未知循环次数的情况,只要条件为真,就会一直执行循环体中的代码。
do - while循环
do-while循环:先执行循环体中的代码,然后再检查条件。只要条件为真,就会重复执行循环体中的代码。
do {
// 循环体中的代码
} while (循环条件);
//do-while循环会先执行循环体中的代码,然后再检查条件i是否小于5。只要条件为真,循环体中的代码会被执行。循环体中的代码会被执行5次,分别输出0到4。
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
do-while循环与while循环类似,但它保证循环体至少执行一次,即使条件一开始就为假。
for … in 循环
用于遍历对象中的可枚举属性
for (变量 in 对象) {
// 循环体中的代码
}
//for...in循环会遍历person对象的每个可枚举属性,并将属性名赋值给变量key。循环体中的代码会被执行3次,分别输出"name: John"、"age: 30"和"city: New York"。
const person = {
name: "John",
age: 30,
city: "New York"
};
for (let key in person) {
console.log(key + ": " + person[key]);
}
for…in循环会遍历对象的每个可枚举属性,并将属性赋值给变量,然后执行循环体中的代码。
for … of 循环
用于遍历可迭代对象(如数组、字符串等)的元素。
for (变量 of 可迭代对象) {
// 循环体中的代码
}
//for...of循环会遍历colors数组的每个元素,并将元素值赋值给变量color。循环体中的代码会被执行3次,分别输出"red"、"green"和"blue"。
const colors = ["red", "green", "blue"];
for (let color of colors) {
console.log(color);
}
for…of循环会遍历可迭代对象的每个元素,并将元素赋值给变量,然后执行循环体中的代码。
break和continue
break:用于立即终止循环,并跳出循环体。当执行到 break 关键字时,循环会立即停止,不再执行循环体中剩余的代码,然后程序会继续执行循环之后的代码。
continue:用于跳过当前迭代,继续执行下一次迭代。当执行到 continue 关键字时,循环会跳过当前迭代剩余的代码,直接进入下一次迭代。
//当 i 的值等于 3 时,break 语句会被执行,循环会立即终止,输出结果为 0、1、2。
for (let i = 0; i < 5; i++) {
if (i === 3) {
break;
}
console.log(i);
}
//当 i 的值等于 2 时,continue 语句会被执行,当前迭代的剩余代码会被跳过,直接进入下一次迭代,输出结果为 0、1、3、4。
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}