JavaScript基础语法结构Day04

1、函数
    1、什么是函数
        是一段预定义好,并可以被反复使用的代码块
        预定义:事先声明好
        反复使用:提升代码的可重用性
        代码块:允许包含多条可执行语句
    2、声明函数
        1、普通函数
            function 函数名(){
                //代码块
            }
        2、带参函数
            参数:由外部传入到函数内部的数据
            function 函数名(参数列表){
                
            }
        3、带返回值函数
            返回值:需要返回给函数调用处的一个数据
            function 函数名(参数列表){
                return 值;
            }
    3、函数调用
        1、普通函数
            函数名();
        2、带参函数
            函数名(参数列表);
            注意:传参时,按照形参的顺序来传递
        3、带返回值函数
            var result = 函数名(参数列表);
    4、变量的作用域
        1、什么是作用域
            变量 或 函数的可访问范围,控制着变量的可见性和生命周期

            作用域分类:
            1、函数作用域:在声明的函数内可访问
            2、全局作用域:在任何位置都能访问的
        2、局部变量
            出了定义的范围就无法使用
        3、全局变量
            1、独立于任何function的位置处声明变量
            2、在 函数内 ,通过不使用var关键声明变量
                function test{
                    stuName="张三丰";
                }
        4、声明提前
            var 声明的变量以及function 声明的函数 会被预读到所在作用域的顶端,赋值还保留在原来的位置
            function test(){
                console.log(age);//undefined
                console.log(...);
                var age = 25;
                console.log(age);
            }
        5、按值传递
            JS基本数据类型在做参数传递时,实际上传递的是值的副本,在函数内的任何操作,不会影响到函数外的原始值
        6、函数的作用域
            1、局部函数
                将 函数 声明在某个 函数内
            2、全局函数
                将 函数 声明在独立于任何function的位置处
        7、全局函数
            parseInt()
            parseFloat()
            Number()
            isFinite()
            encodeURI()
            decodeURI()
            eval()
2、分支选择结构
    1、程序的流程控制
        1、顺序结构
        2、分支结构
        3、循环结构
    2、if结构
        1、语法
            if(条件){
                语句块
            }

        2、注意
            1、如果条件不是boolean类型,则会进行自动转换
                以下情况可以被转换成假:
                if(0){}
                if(0.0){}
                if(undefined){}
                if(""){}
                if(null){}
                if(NaN){}
            2、可以省略if后的{}
                省略{}if只控制它下面的第一条语句
                所以不建议省略
    3、if...else...结构
        如果 ... 否则 ...
        1、语法
            if(条件){
                语句块1;
            }else{
                语句块2;
            }
=============================
1、分支结构
2、循环结构
=============================
1、分支结构
    1、else...if语句(多重if结构)
        1、问题
            根据考试成绩,给出 A-E 等级
            成绩为100分,则输出A
            成绩在90分以上 则输出B
            成绩在80分以上 则输出C
            成绩在60分以上 则输出D
            否则 输出E
        2、语法
            if(条件1){
                语句块1;
            }else if(条件2){
                语句块2;
            }else if(条件3){
                语句块3;
            }... ...else{
                语句块n;
                以上条件都不满足时,才运行else
            }
            注意:else是可有可无的。
        3、练习
            要求用户通过 弹框 输入年,输入月,输入日,判断 该日 是这一年的第多少天?
            输入年:2016
            输入月:10
            输入日:27
            2016年10月27日是2016年的第301天
            1月:31
            2月:闰年 29天,(如果平年则 28天)
            3月:31天
            4月:30
            5月:31
            6月:30
            7月:31
            8月:31
            9月:30
    2、switch-case 结构
        1、作用
            为了简化 等值判断 的条件判断结构
        2、语法
            switch(变量/表达式){
                case 值1:
                    语句块1;
                    break; //该语句块的结束
                case 值2:
                    语句块2;
                    break; //表示结束,可以不写
                ... ...
                default:
                    语句块n;
                    break;
            }
            1、执行流程
                1、解析 表达式或变量中的值
                2、用 解析出的数值 与 case 后的数值进行等值比较
                    如果 比较成功,则执行该case后的语句块
                3、执行完成后,如果碰到 break则结束整个switch结构,否则继续向下执行(非判断)
        3、switch-直落形式
            两块或多块case之间,没有任何操作代码,表示 多块case要执行相同的操作
            switch(变量/表达式){
                case 值1:
                case 值2:
                case 值3:
                    语句块;
                    break;
            }
2、循环结构
    1、问题
        1、在控制台上输出一句 "Hello World"
        2、在控制台上输出十句 "Hello World"
        3、在控制台上输出1000句 "Hello World"
        4、将1000句 "Hello World" 更换成 "你好 世界!"
        5、在 "你好 世界" 基础上 增加 "第1遍 你好 世界"
    2、什么是循环结构
        循环:一遍又一遍的重复执行相同或相似的代码
        生活中的循环:
            1、循环听歌:有开始,有结束
            2、上学:有开始,右结束
            3、长跑运动员:有开始,有结束
        循环特点:
            1、循环条件
                规定了循环的执行次数
            2、循环操作
                要执行相同或相似的语句-循环中做了什么
    3、循环结构-while循环
        1、语法
            while(条件){
                //循环操作
            }

            流程:
                1、判断 循环条件
                2、如果条件为真,则执行循环操作,然后再判断条件,如果条件为真,则继续执行循环操作... ...
                3、直到条件为 假时,则结束循环操作
            练习1:
                1、打印 1-1000之间 所有的数字
                2、计算 1-1000之间 所有的数字之和
                3、计算 1-1000之间 所有奇数数字之和
        2、循环流程控制语句
            1、continue
                终止本次循环的执行,继续下次循环
                ex:
                    打印1-1000之间,所有 非3的倍数的数字
            2、break
                提前退出循环结构

            3、练习
                要求用户从弹框中 反复录入数据,并打印输出,直到 输入 exit 为止。
                    条件:输入 exit 则退出
                    操作:
                        1、要求用户录入数据
                        2、判断是否为 exit
                        3、不是 exit,则打印输出
    4、循环结构-do...while()循环
        1、语法
            do{
                //循环操作
            }while(条件);
            
            流程:
                1、先执行循环操作
                2、判断循环条件
                    如果值为真,则继续执行循环操作
                    如果值为假,则退出循环
            场合:
                先执行循环体,根据循环体内的操作再决定循环条件时,使用do...while
        2、while 与 do...while 的区别
            1、while :先判断,后执行,最少一次都不执行循环操作
            2、do...while : 先执行,后判断,最少执行一次循环操作
3、练习
    猴子吃桃问题
        猴子摘下了若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天,又将剩下的桃子吃了一半,又多吃一个。以后每天都吃了前一天剩下的一半零一个。到第10天的时候,发现只剩下一个桃子。求:第一天共摘下多少个桃子。




猜你喜欢

转载自blog.csdn.net/Xiaotongbiji/article/details/80998844