• JavaScript-day03学习(流程控制)


    流程语句

    • 顺序语句 – 按照书写顺序执行
    • 流程控制语句

    需要在不同的条件下,得到不同的结果,以及在不同的时间段,可以执行被控制的代码块

    • 循环语句 – 重复执行一段代码块

    流程控制语句

    • 单分支 – 满足条件就执行,不满足就不执行

    语法:

    if(条件?){
    	条件成立执行的代码块
    }
    
    • 1
    • 2
    • 3
            var num = prompt('请输入你的年龄:')
            // if(num > 18){ //条件的返回值 必须是true 才可以执行
            //     alert("你可以去追求想要的生活了")
            // }
    
            // 注意: 只能控制一行代码
            if(num > 18){ alert("你可以去追求想要的生活了")}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 双分支

    如果成立了执行成立的代码 否则执行不成立的代码

    if(条件?){
    	//条件成立执行的代码块
    }else{
    	//条件不成立执行的代码块
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
            if(num > 18){ 
                alert("你可以去追求想要的生活了")
            }else{
                alert("在家被抽")
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 多分支

    根据多个不同的条件,执行不同的结果

    语法:

    if(条件一){
    	//条件一成立的代码块
    }else if(条件二){
    	//条件二成立的代码块
    }
    .............
    else{
      // 上述条件都不成立执行的代码块
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    var num = prompt('请输入你的成绩:')
    if(num >=90){
      alert('娶个媳妇')
    }else if(num >=80 && num < 90){
      alert('买个电脑')
    }else if(num >=70 && num < 80){
      alert('买个手机')
    }else if(num < 70){
      alert('去死吧')
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    switch

    也是一个判断语句,但是,是以匹配的方式进行判断的

    语法:

    switch(条件/表达式){
    	case 字符:
    		字符匹配成功执行的代码块
    		break; //跳出整个程序
    	case 字符:
    		字符匹配成功执行的代码块
    		break; //跳出整个程序
    	case 字符:
    		字符匹配成功执行的代码块
    		break; //跳出整个程序
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    default:
    	上述字符全都不匹配执行的代码块
    break; //跳出整个程序
    
    • 1
    • 2
    • 3

    }

    注意:如果有一个匹配不成功,会执行break,后续的字符匹配成功也不执行
    
    如果没有break,会匹配多个字符
    
    ​```js
            var num = 1
            switch (num) {
                case 1:
                    console.log('第一个条件');
                    // break
                case 2:
                    console.log('第二个条件');
                    break
                case 1:
                    console.log('第三个条件');
                    break
                default:
                    console.log('上述条件都不成立');
                    break
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
            var num = prompt('请输入成绩:')
            var sum = parseInt(num / 10)
            switch (sum) {
                case 10:
                case 9:
                    alert('娶个媳妇')
                    break
                case 8:
                    alert('买个电脑')
                    break
                case 7:
                    alert('买个手机')
                    break
                case 6:
                    alert('买个棒棒糖')
                    break
                default:
                    alert('去死吧')
                    break
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    区别:

    • 如果条件是一个区间,优先选择IF语句
    • 如果是单个值或固定的字符匹配,优先选择switch

    获取元素

        <div class="box1"></div>
        <div id="box" class="box">
            <p>123</p>
        </div>
        <div class="box">456</div>
        <script>
            // 根据ID 的名字,只能获取到一个元素
            // var box =document.getElementById('box')
            // console.log(box);
    
            //document.querysekect(选择器) -- 只能获取页面中出现的第一个元素
            // var box = document.querySelector('.box p')
            // console.log(box);
    
            //通过标签名获取元素  -- 获取到的是一个类(类似)数组,可以使用数组的长度和下标,但是数组专有的方法是不能使用的
            //只能通过 标签名获取 
            // var div = document.getElementsByTagName('div')
            // console.log(div);
            // console.log(div[0]);
            // console.log(div.length); //3
            
            // 通过class获取元素 -- 获取到的是一个类(类似)数组,可以使用数组的长度和下标,但是数组专有的方法是不能使用的
            //只能通过class类类名获取
            var div1 =document.getElementsByClassName('box')
            var p =div1[0].getElementsByTagName('p')
            console.log(div1);
            console.log(div1[0]);
            console.log(div1.length); //3
    
            console.log(p);
    
            //document.querySelectAll(选择器)
            // - 获取到的是一个类(类似)数组,可以使用数组的长度和下标,但是数组专有的方法是不能使用的
            // var div2 = document.querySelectorAll('div')
            // console.log(div2);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    循环语句

    语法:

    for(初始化变量;条件表达式;操作表达式){
      //循环体
    }
    
    • 1
    • 2
    • 3

    初始化变量:被用于初始化一个计数器,是使用var关键字声明一个新变量,这个变量,用来次数的

    条件表达式:用来确定每一次循环是否能被执行,如果结果是true,继续执行,否则,停止循环

    操作表达式:就是一个值变化,变量从初始化开始,变化到结束值

            for(var i=0;i< 5;i++){
              console.log('春江潮水连海平');
            }
            // 执行过程:
            // 1、 i = 0 判断是否满足条件 0 < 5 true 执行打印 console.log('春江潮水连海平');
            // 2、1++ i = 1 判断是否满足条件 0 < 5 true console.log('春江潮水连海平');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    双重for循环

    for(外初始化变量;外条件表达式;外操作表达式){
    		//循环体
       for(初始化变量;条件表达式;操作表达式){
        //循环体
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    外面的for循环,循环一次,里面的for循环,循环到结束

    while 循环

    语法:

    while(条件表达式){
    	//循环体代码
    }
    
    • 1
    • 2
    • 3

    先执行条件表达式,结果为true,就可以执行循环体代码

    如果没有退出循环的条件,会成为死循环

            var i = 1
            while (i < 10) {
                console.log(i);
                i++;
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    do-while循环

    语法:

    do{
    	//循环体代码
    }while(条件表达式)
    
    • 1
    • 2
    • 3

    如果没有退出循环的条件,会成为死循环

    但是,这个do-while循环,会先执行一次,再判断条件

    this

    指本元素

    • this指的是触发当前事件的对象,函数中用来表示调用这个函数的对象,事件中,哪个对象触发了事件this就指向谁

    • 理解this之前,一定要注意,this既不指向函数本身,也不是指向函数的词法作用域,也就是this在定义的时候,是不知道指向于谁的,只有函数在被调用的那一瞬间,也就是this指向于谁,取决于你是怎么调用函数的

    • this永远指向一个对象

    • this的指向完全取决于函数的调用的位置

  • 相关阅读:
    图像处理的基本操作
    k8s学习笔记之查看k8s平台下安装了哪些插件
    QProcess类
    初始JVM
    C++设计模式
    【NVMe2.0b 14】NVMe Admin Command Set
    基于PHP的学生在线成绩管理系统
    10.0、C语言——初识指针(2)
    一款IM即时通讯聊天系统源码,包含app和后台源码
    PL/SQL编程-存储过程
  • 原文地址:https://blog.csdn.net/AO_AEO/article/details/126181996