首页 > 代码库 > 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