首页 > 代码库 > JS 4

JS 4

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天的时候,发现只剩下一个桃子。求:第一天共摘下多少个桃子。

 

JS 4