<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
/*if(表达式){
语句体;
}
表达式转换成布尔值,结果为true执行语句体,结果为false不执行语句体继续往后执行
if(表达式){
语句体1
}else {
语句体2
}
表达式转换成布尔值,结果为true执行语句体1,结果为false执行语句体2
表达式1结果为true,执行语句体1后不论后续有什么均结束当前if语句
if(表达式1){
语句体1
} else if(表达式2){
语句体2
}
表达式1转换成布尔值,结果为true执行语句体,结果为false表达式2转换成布尔值
表达式2结果为true执行语句体2,结果为false不执行语句体,继续往后执行,可以写多个else if(){}
只要有一个判断未true,并执行对应语句体后,不论后续有什么均结束当前if语句
*/
var a = 5;
var b = 5;
if(a==b){
console.log("a等于b");
}else if(a===b){
console.log("a等于b");
}
/*switch(变量或表达式){
case 常量值1:语句体1;break;
case 常量值2:语句体2;break;
case 常量值n:语句体n;break;
}
case后面最好用常量,使用变量可能导致数据混乱
break表示结束当前代码块
default表示没有满足条件时执行的语句,如果有满足条件的选项,但没有break仍然会执行
default与case没有先后顺序要求,为了满足易读性通常将default放在代码块最后
*/
switch (a) {
case 1:console.log("case1");
case 5:console.log("case5");break;
default:console.log("default");
}
/*
if语句可以做固定值及范围的判断,switch只能做固定值的判断
使用中建议已易读性,行数少的优先使用
*/
/*for(初始化变量;循环判断条件;更新循环变量){
循环体语句;
}
循环判断条件返回true,继续执行循环体语句,返回false,循环停止,继续执行后续代码
*/
for(var i = 0; i <= 10; i++){
console.log(i);
}
/*while(循环判断条件){
循环体语句;
更新循环变量;
}
do{
循环体语句;
更新循环变量;
}while(循环判断条件)
*/
var i = 0;
while(i <= 10){
console.log(i);
i++;
}
do{
console.log(i);
i++;
}while (i <= 10);
/*for循环更擅于次数循环,while更擅于状态改变的循环
do{}while()是先执行循环体再进行判断,使用中需要注意可能导致多循环一次
break;结束循环执行后续代码,continue;结束本次循环进入下一次循环
*/
wai:for (var i = 1; i <= 10; i++){
for (var j = 1; j <= 10; j++){
if (i+j > 5){
console.log(i+j);
break wai;
}
}
}
// 多层嵌套循环时,可以给循环指定名称,对相应的循环进行操作
wai:for (var i = 1; i <= 10; i++){
for (var j = 1; j <= 10; j++){
if (i+j > 5){
console.log(i+j);
break wai;
}
}
}
/*三目运算:与if相似,单必须返回一个结果
var 变量名 = 表达式?值1:值2;
运行表达式结果是true返回值1,结果是false返回值为2
*/
var a = 1;
var b = 2;
console.log(a>b?a:b);//输出结果2
</script>
</body>
</html>
JS基础:流程控制
最新推荐文章于 2024-06-12 11:59:04 发布