zoukankan      html  css  js  c++  java
  • Javascript基础二(程序的三大结构)

    程序的三大结构:

    顺序结构,选择结构,循环结构

    程序的单分支结构-if语句:

     
        当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句
     
        if(条件){
            执行语句
        }
     
        
        if(条件){
            执行语句1,为真时执行
        }else{
            执行语句2,为假时执行
        }
     
        当条件判断为真true时,执行语句1,如果条件为假false,执行语句2。
     
     
        if()括号里面的东西我们通常也叫它逻辑点
     
        为真true,为假false,这是布尔值,需要通过逻辑运算符得到。
     
     
        但是:
        if(1){
            alert("会弹出来么?");
        }
        1是数值型,不是布尔值,更不是true?为什么会执行花括号内的语句了呢?
     
        在一些特定的情况下,计算机会进行一些隐式转换,他和强制类型转换不一样,他不需要你做什么,会自动对数据类型进行转换
        在运算中,if(小括号)中的语句会发生隐式类型转换。
     
        1.运算中的隐式类型转换:
        var a = "1",b = 2;
        a + b = ???
        
        +号有两种含义:数学中的+号运算符;字符串的拼接。优先字符串拼接,所以在检测到+号左右两边存在字符串的时候,会自动将另一边不是字符串的数据,转成字符串,再进行操作
     
        a - b = ???
        
        除了+号有两层意义为外,-*/%号只有数学意义,所以当进行-*/%的时候,默认将运算符两边的数据类型隐式转换成数字类型再进行运算
        
        2.if(小括号)内的隐式类型转换。
        if()中只需要布尔值,那么在if判断中,会把括号内所有的数据类型,都隐式转换成布尔型。
        在if()中,非零数字都会转成true,非空字符串都会转成true;这是两条基础规则
     
    例:判断奇偶
    var a = 3;
    if (a % 2 ==0) {
        alert("偶数");
    }else {
        alert("奇数");
    }

    程序的多分支switch语句/break关键字

        switch()多分支语句
     
        注意:在switch()内,不会发生隐式数据类型转换
     
        switch(){
            case 0:alert("零");
            break;
            case 1:alert("一");
            case 2:alert("二");
            default:alert("不识别的数字");
        }
     
        switch()内,不会做判断,在case身上判断这个值是否符合。
     
        switch()内,不能做判断,同时在case后也不能做条件判断,
     
        注意:如果判定的是范围,不要使用switch语句;判定具体数据的时候,才使用switch
     
        案例:判断星期几;判断成绩;
     
        注意switch的应用场景:有多个 确定值  需要判断的时候
     
        注意case语句的穿透,要加break语句:如果程序没有break语句,那么解析器会继续向下解析
     
        注意default相当于if语句中的else,当以上条件都不满足的时候,执行default
     
     
    例:判断成绩等级
        var grade = 65;
        var score = parseInt(grade/10);
        switch(score) {
            case (10):alert("学霸");
            break;
            case (9):alert("学霸");
            break;
            case (8):alert("优秀");
            break;
            case (7):alert("良好");
            break;
            case (6):alert("中等");
            break;
            default:alert("不及格");
            break;
            }    

      

     

    三目运算符:

           var a = 6;
           if(a<10){
               a = "0"+a;
           }else{
               a = a;
           }
           
           //上面的代码,等价于下面的代码     
           var a = 6;
           a = a<10 ? "0"+a : a;

      

    循环:

     循环的意义:
        计算机是个傻子,没有七情六欲,不会有人类的感性和思考。当你问他爱吃啥,他不知道,当问他喜欢什么颜色,也不知道。那我们要计算机干啥呢?
        从远古时期讲,所谓计算机并没有现在这个牛的功能,游戏电影,都是不可能的。只能干一件事:计算。那么什么是计算呢,为什么不自己计算呢?
        所谓计算,就是数据的累加,比如1jia到100,这些累加都是重复性的工作,当人处理这些重复性的工作时,速度有限,但是计算机处理起来奇快无比,这就是计算机的价值所在。
        发展到今天也是一样,当我们需要计算机的时候,大多数让他干的都是重复性的工作,这些重复性的工作有着极其相似的代码
     

    while循环和do-while循环的使用

        while(条件){
            执行语句
        }
     
        当条件为true时,会一直重复执行花括号内的执行语句。注意:千万不要造成死循环
        
        var i = 0;        //计数器
        while(i<10){      //停止的条件
        document.write("hello world”);
            i++;          //改变计数器
        }
        注意:为避免死循环,一定要在循环体内改变条件中使用的变量的值
     
     
        do-while
     
        do{
            当条件为真,执行这里的语句
        }while(条件){
            当条件为假,执行这里的语句
        }
     
        当条件为真时,执行do的语句,当条件为假时,执行while的语句
     
        do{
            console.log("do的执行语句”);
            i++;
        }while(i<10){
            console.log("while的执行语句");
        }
        注意do-while的改变计数器需要写在do语句中,否则会造成死循环。
     
    while和do-while的区别?
        do-while无论结果为真还是为假,都会执行一次
        
    例:计算1-100之间的和
            //方法一
            var sum = 0;
            var i = 1;
            do {
                sum += i;
                i++;
            }while (i <= 100){
                console.log(sum);
            }
            
            //方法二
            var sum = 0;
            var i = 1;
            while(i <= 100) {
                sum += i;
                i++;
            }
            console.log(sum);
        

    continue关键字 和 break关键字的使用:

        continue和break都是用来控制循环结构的,主要是用来停止循环。
        
        continue表示终止本次循环,还执行后面的循环。也可以理解成跳过本次循环中剩下的语句,执行下一次循环。
     
        break表示完全结束一个循环,跳出循环体执行循环后面的语句。
     
     

    1.for循环的使用

        for(语句1;语句2;语句3){
            需要执行的代码块
        }
     
        语句1:在循环体开始前执行----计数器
        语句2:循环的条件--------停止的条件
        语句3:在循环体被执行后执行---改变计数器
     
    for(var i = 0; i < 10; i++){
            console.log(1);
     }  
      
        注意在for循环中语句之间用“;”隔开。
     
        小技巧:在知道执行次数时用for,在无法判断循环次数时用while
        

    2.for循环的嵌套

        for循环嵌套时,注意各个循环的计数器变量名不能重复,否则会变成死循环
        
        如何使用:需要打印的内容多行多列的时候,需要做多重运算的时候
     
        例:打印九九乘法表
            for (var i = 1;i <= 9;i++) {
                for (var j = 1;j <= i;j++) {
                    document.write(j + "*" + i + "=" + i*j + "&nbsp;&nbsp;");
                }
                document.write("<br>");
            }

    3.死循环 

        无法靠自身控制结束的循环,称为死循环
        
        但是可以利用死循环的原理,解决一些问题:
        案例:篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度是0.1米。
                 不知道要循环几次的问题,利用死循环的原理,每次判断一个条件,直到满足条件,利用break跳出循环
     
            var h = 5;
            var i = 0;
            while(true) {
                h = h * 0.3;
                i++;
                if (h < 0.1) {
                    console.log(i);
                    break;
                }
            }
  • 相关阅读:
    集合类的相关之区别
    String,实例,变量
    Java集合类详解
    英语飙升的好方法[网上转来的]
    jstl标签常用标签(全)
    Android 菜单(OptionMenu)大全 建立你自己的菜单
    持久层封装 JDBC
    SQL Sever 常用语句总结
    异常:数据库没有有效所有者,因此无法安装数据库关系图支持对象
    Log4j配置详解
  • 原文地址:https://www.cnblogs.com/ZhaoWeiNotes/p/11513178.html
Copyright © 2011-2022 走看看