2.流程控制语句

语句结构分类:

  1. 顺序结构 js默认由上至下执行
  2. 分支结构 js会根据条件的判断,决定是否执行某段代码
  3. 循环结构 js会根据条件的判断,反复的执行某段代码

分支语句

单分支

if后面()当中计算出来的最终一定是布尔值;

f执行过程:

​ 1. 先计算小括号当中的值

​ 2. 根据小括号当中的值,转化为布尔值

3.  根据转化出来的布尔值,决定是否需要执行花括号当中的代码块

双分支(三元表达式)

把一件事分成两种情况去处理;

if(一般都是一个表达式,但是最终只要有值就行,并且这个值最终会转化为boolean){
	代码块;
}else{
	代码块;
}

如果以后我们碰见if...else双分支语句,而且每个分支当中只有一条语句,就最好改成三元表达式(问号冒号表达式)

单分支和双分支分析

单分支和双分支其实都可以理解为双分支,也就是把一件事分成两种情况去处理,符合条件和不符合条件,

单分支只是处理了符合条件的,不符合条件的不管

双分支是都要处理;

多分支

多分支是把一件事分成多种情况去处理;

if (表达式) {
   代码块
} else if (表达式) {
   代码块
} else if (表达式) {
   代码块
} else {
   代码块
}

switch....case分支语句

switch 语句执行过程:

  1. 如果switch后面的小括号是表达式先求出switch后面表达式的值,否则跳过
  2. 再看case后面是表达式还是值,如果是表达式则求出值再和switch的值相比较,否则直接比较(注意是全等比较)
  3. 如果case后面的值和switch后面的值相等,则执行case后面的代码块,如果不等,则看下一个case的值,如果所有case的值和switch的值都不相等,则执行default(注意:无论default放在switch代码块的任何位置,都将最后执行)
  4. 再看case后面是否有break;如果没有,则继续向下执行,如果有,则终止本次switch循环

注意:case后面没有{},只有:

switch(表达式或者直接是个值){
   case 值/表达式:
       代码块;
       break;
   case 值/表达式:
       代码块;
       break;
   default:
       代码块;
       break;
}

循环语句

for循环

语法

for(代码块1;代码块2;代码块3){
	代码块4;
}

代码块1一般是初始化表达式;

代码块2一般是条件表达式;

代码块3 一般是自增自减表达式;

执行过程

第一次循环:

​ 首先执行代码块1

​ 接着执行代码块2

​ 然后再去执行代码块4

​ 最后执行代码块3

非第一次:

​ 首先执行代码块2

​ 接着执行代码块4

​ 最后执行代码块3

for的隐藏作用域

for 有一个隐藏的作用域,这个作用域在for的()中产生,

for首先定义一个变量,然后进行判断,然后执行子作用域中的代码,再执行代码块3

例如如下for循环,实际上存在三个子作用域

	for(let i=0;i<3;i++){
        console.log(i);
    }

    //类似这样
    function fn() {
        let i=0;
        return function () {
            console.log(i);
            i++;
        }
    }
    let b=fn();
    b();
    b();
    b();

for中用var声明的变量会暴露到全局

在for循环中使用var,变量会暴露在全局中

    for (var i = 0; i < 3; i++) {}
    console.log(i);
    //类似这样
    var i;
    function fn() {
        i = 0;
        return function () {
            console.log(i);
            i++;
        }
    }
    let b = fn();
    b();
    b();
    b();

while循环

while (一般都是条件表达式) {
   循环体
}

​ 表达式一般写循环变量的结束条件;

​ 在写控制条件前需要初始化一个循环变量;

​ 循环变量的自增量写在循环体的最后;

do...while循环

do{
   循环体代码块;
}while(表达式)

while和do...while的区别:

while循环执行的时候,会先进行条件判断,如果条件为真,就执行循环体,如果为假,就跳出循环;

​ do...while执行的时候,会先执行一遍循环体,然后再进行条件判断,如果条件为真,继续执行循环体,如果条件为假,就跳出循环;

break和continue的关键字

continue

作用:结束本次循环,返回从下一次继续开始

break

作用1:在switch语句当中是跳出switch

作用2:在循环当中,跳出离它最近的一层循环

posted @   听风小弟  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示