函数是什么?: 函数是一个可以被重复使用的代码块
一个完整函数包括【关键字】、【函数名】、【形式参数】、【函数体】、【返回值】5个部分
- 关键字:function来定义函数
- 函数名:函数名命名跟变量一致,采用小驼峰命名法 经常采用动词
- 形式参数:声明函数时小括号里的叫形参(形式上的参数)可以理解为变量
- 函数体:需要处理的参数
- 返回值:return 语句可以用来在满足return上面条件时提前退出函数,从而避免执行后续代码 注意:return后面也可以紧跟形参并做参数计算并返回给函数,打印函数得出形参接收的效果
- 实参 :一般是在return后面计算,也可以在调用函数的时候小括号里面穿实参
函数默认参数
- 可以给形参设置默认值,function sum(x = 0, y = 0),默认参数就是给形参加个等于号赋值,就是默认参数,在没有实参传递过来的时候就会调用
作用域
- 全局作用域: 全局作用域定义的变量,可以给其他作用域使用
- 局部作用域:作用于函数内的代码环境,注意:函数里面定义变量不加变量关键字let会变成全局变量,加了let关键字就会变成局部作用域作用于函数体里,变成全局作用域哪里都可以用,只有function函数里才能用;如下图在全局可用:
function func() {
y = 1 // 我们不提倡这种写法,要避免
}
func()
document.write(y)
匿名函数
- 函数表达式:let fn = function(){} 调用:fn()
- 立即执行函数:多个立即执行函数要用 ; 隔开否则会报错 场景介绍: 避免全局变量之间的污染(function(){ xxx })();
- 当做函数的参数findMaxAndMin(function(){console.log('查找最小值')})