一.
<1.什么是函数?
: 一段定义好的代码,并可以被反复使用的代码块
<2.函数的作用:
提升代码的可复用性 将一段代码进行预定义 ,需要使用的时候才触发
代码块:形成了一个相对独立的作用域
<3.语法:
function 函数名(参数列表){
代码块(函数体) ==>待执行的代码块
return 返回值 返回执行的一些结果, 结束函数(程序碰到return之后,return后面的代码就不会执行了) 最多只能有一个返回值
1.函数的作用域
全局函数:一般是js写好的一些函数, 独立于任何function的位置处,位于JS的最外层
局部函数:在一个函数内部定义的函数
2.变量的作用域
什么是作用域?
:范围 变量的生命周期
JS中作用域的分类:
<1.函数作用域
该变量只在当前作用域中可以访问
只有在当前函数中能访问,离开函数无法访问
在函数体中使用var关键字定义的变量才是局部变量
<2.全局作用域
一经定义 ,在代码中的任何位置都能访问到
在函数体中不通过var关键字定义且赋值了的变量 ,就会成为全局变量
3.分支结构
程序 = 数据结构 + 算法
任何复杂的算法都有以下几种结构:
<1、顺序结构
<2、分支选择结构
<3、循环结构
4.分支结构:满足不同的条件执行不同的程序
if分支:当条件满足时,运行某些语句 语句可能会执行
if...else...分支:当条件满足时,运行某些语句 否则运行else中的语句 一定会执行一种
if() ...else if()..else if() ...else 满足某一个条件时执行相对应的代码块
语法:
if(条件){
语句块
}
if(条件1){
语句块1
}else if(条件2){
语句块2
}else if(条件3){
语句块3
}...
else{
语句块n
}
<1、条件应该是boolean类型的值或表达式
<2、如果条件不是boolean的话,会自动进行转换
以下几种情况会默认转换为 false
if(0){}
if(0.0){}
if(NaN){}
if(undefined){}
if(""){}
if(null){}
if(false){}
除了以上的情况,其他都转换为true
if(1){}
if(2){}
if("今天天气好好呀!"){}
<3、if(条件)后面的{}可以省略的,但是不推荐 如果省略了,那么if结构只控制if下的第一条语句
5.switch-case结构
作用:为了简化,等值判断的条件判断结构
语法:
switch(变量/表达式){
case 值1:
语句块1;
break;//该语句块结束 可以省略
case 值2:
语句块2;
break;
. .. ...
default:
语句块n;
break;
}
二.循环
循环:一遍又一遍的重复执行相同或相似的代码
特点:
1、循环条件:规定循环的执行次数
2、循环的操作:要执行的相同或显示的语句
3、while循环结构
while(条件){
循环体
}
1)判断 循环条件
2)循环条件为真,true ,执行循环体
再判断条件,如果条件为真 执行循环体
....
3)循环条件为假,false,则结束循环操作
循环的三要素
<1、循环变量
<2、循环条件 满足时才执行循环体
<3、循环变量的变化 变化是趋向于条件的不满足,趋向于循环的结束
4.For循环结构
语法:
for(达表示1;表达式2;表达式3){
循环体
}
表达式1:声明循环变量 可以省略 循环变量需要在循环开始之前声明好
表达式2:循环条件的判断 可以省略 在循环体中添加结束循环的判断 否则就会形成死循环
表达式3:更新循环变量 可以省略 在循环体中添加循环变量的更新语句
三个表达式可以省略,但是;不能省略
流程:
1、执行表达式1 申明循环变量
2、判断循环条件是否成立 成立则执行循环体
3、执行表达式3,更新循环变量
执行表达式2 判断循环条件是否成立 成立则执行循环体
表达式2执行的结果为false 则终止循环
适用于:固定循环次数
5.do while 结构
语法:
do{
循环体
}while(条件);
流程:
<1、先执行循环体
<2、判断循环条件
如果循环条件成立true,则继续执行循环操作
如果训话条件不成立false,则退出循环
while 和 do while的区别
1、while:先判断,后执行 可能一次都不执行循环体
2、do while:先执行,后判断 至少会执行一次循环体