温故知新JavaScript(第三天流程控制)

314 阅读3分钟

流程控制语句组成:

​ 顺序结构

​ 选择结构(分支语句):for for-in while do-while

​ 循环结构:for for-in while do-while

​ break/continue

1、选择结构(分支语句)

选择结构:选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

if

语法:if(条件){条件成立时执行的代码}

 var money = 1000;
        if(money > 1000){
           console.log("煎饼果子加十个鸡蛋");
           console.log("买一瓶SKII");
        }

注意:{}可以省略,但是if只能控制紧跟在后面一句代码

if(money > 1000) 
console.log("煎饼果子加十个鸡蛋"); //只有if后面的第一行代码能受if的影响
console.log("买一瓶SKII");

上面代码中,第二个还是会继续输出,因为if只能控制紧跟在后面一句代码

if-else

语法:if(条件){条件成立时执行代码}else{ 条件不成立的时候执行代码 }

var age = 8;
if(age < 7){
    //条件成立时执行的代码
    console.log("玩泥巴");
} else{
    //条件不成立时执行的代码
    console.log("去学校玩泥巴");
} 

if-else嵌套

if-else只能判断一个条件的成立或不成立,如果又很多个条件,比如成绩的判断。

语法:if(条件){ 条件成立时执行的代码 }else if(条件){条件成立时执行的代码} else if()....

​ 注意:else和前面离他最近的if是一对,一定要把不容易实现的放在前面

//90-100优秀  80-90良好 70-80 一般  60-70及格  60以下不及格
       var s = 79;
       if(s >= 90){
           console.log("优秀");
       }else if(s>=80){
           console.log("良好");
       }else if(s >= 70){
           console.log("一般");
       }else if(s >= 60){
           console.log("及格");
       }else{
           console.log("不及格");
       }

switch

语法:

​ switch(匹配项){

​ case 情况1 : 匹配到情况1以后执行的代码;break;

​ case 情况2 : 匹配到情况2以后执行的代码;break;

​ case 情况3 : 匹配到情况3以后执行的代码;break;

​ default: 前面所有情况都匹配不到以后执行的代码

​ }

​ 情况明确,并且判断的值是一些简单的数字或者是字符的时候用switch

 var str = "*";
        switch(str){
            case "+" : console.log(10+10);break;
            case "-" : console.log(10-10);break;
            case "*" : console.log(10*10);break;
            case "/" : console.log(10/10);break;
            default: console.log("能力不够,计算不了");
        }

​ break:防止穿透,如果不写break,只要匹配到一项以后,后面的代码就不会再进行匹配,直接执行

2、DOM获取标签

获取标签的3种方式:

通过id获取

​ document.getElmentById('id名'):唯一的一个,具体标签

通过tagName获取

​ document.getElementsByTagName('标签名') ; 获取到整个文档中所有对应标签名标签

​ 注意:必须通过【】获取到具体的元素才可以使用

​ 通过父元素获取子元素:父元素.getElementsByTagName('标签名')

通过className获取:

​ document.getElementsByClassName('类名') ; 获取到整个文档中所有对应类名标签

​ 注意:必须通过【】获取到具体的元素才可以使用

​ 通过父元素获取子元素:父元素.getElementsByClassName('类名')

var oIn = document.getElementsByTagName("input");
       console.log(oIn); //HTMLCollection(3) 元素集合 类似数组


       //必须通过【】获取到具体的元素才可以使用
       oIn[0].onclick = function () {
           alert("Fd");
       }


       //通过父元素找子元素
       var oDiv = document.getElementById("box");
       var oIn2 = oDiv.getElementsByTagName("input");
       console.log(oIn2);
       oIn2[0].onclick = function () {
           alert("Fd");
       }

3、循环

1、for循环的简单使用

for循环:可以让一段特定的代码,执行指定次数

语法:for(表达式一;表达式二;表达式三){

​ 循环体

​ }

​ for(初始化循环变量;循环条件;更新循环变量){

​ 循环体

​ }

​ 执行顺序:

​ 1.初始化循环变量 i = 0;

​ 2.判断循环条件 i<10 0<10

​ 条件成立,执行第三步

​ 条件不成立,结束循环

​ 3.执行循环体

​ 4.更新循环变量 i++ 1 10

​ 5.执行2

 for(var i = 1;i<=100;i++){
        console.log(i);
    }
2、document.write()

document.write():

​ 写在window.onload里面覆盖之前body里面已经存在的东西,不会覆盖自己的东西

​ 识别标签

​ 操作body的内容

innerHTML:

​ 会覆盖前面的东西

​ 识别标签

​ 操作所有的闭合标签

3、for实操

循环加事件,例:

for(var i = 0;i<oLi.length;i++){ 
        oLi[i].onclick = function(){
            alert("被揍了");
        }
    }

循环加标签,例: console.log(oIn.value);

 var len = [1,2,3,4];
        var oUl = document.getElementById("list");
        for(var i = 0;i<len.length;i++){
            oUl.innerHTML += "<li >00</li>"
        }