函数介绍
函数概念
将任意代码封装起来,需要用的时候进行调用执行
语法
//函数定义
function 函数名(){
函数体/封装的代码
}
//函数调用语句
函数名()
函数参数
形参
- 在函数内部可以使用的变量,函数外部不能使用
- 形参的值是在函数调用的时候由实参决定
实参
- 在函数调用的时候给形参赋值
- 给的是实际内容,多个参数一一对应
传参过程
- 函数调用时,根据函数名找到函数体
- 将实参对应形参传递给函数,执行函数体
- 执行完函数体之后,返回函数调用处,继续执行后续代码
参数个数
- 形参与实参一一对应
- 形参比实参多:没有匹配到的形参undefined
- 形参比实参少:多的实参无法被传递
参数默认值
语法:
function 函数(形参1,形参2){
var 形参1=形参1||默认值
var 形参1=形参2||默认值
}
函数返回值
- 中断函数:return关键字使函数可以在中部停掉,
- 返回值:给函数执行完毕一个结果,返回一个值
函数类型
- 无参无返回值
function 函数(){
函数体
}
- 无参有返回值
function 函数(){
函数体
return 值
}
- 有参无返回值
function 函数(形参){
函数体
}
- 有参有返回值
function 函数(形参){
函数体
return 值
}
函数的优点
- 封装代码,使代码更简洁
- 复用,想使用的时候调用就可以
- 执行时机,在想使用的时候就可以调用
函数的定义方式
- 声明式函数定义
function 函数名(){
函数体
return 值
}
- 赋值式函数定义
var 函数名=function(){
函数体
return 值
}
预解析
js预解析代码执行
- 声明式函数:在内存中声明一个变量名,并且这个变量名代表一个函数
- 赋值式函数:在内存中声明一个函数名
同名函数和变量名
函数名与变量名同名,函数优先