【1】概念
实现固定功能或者效果的代码块,将所有需要执行的程序代码,封装定义在一个函数程序中
优点:①封装一次,可以反复调用; ②减少冗余代码,优化程序,提高执行效率; ③可操作性和可维护性更高。
【2】语法形式
- - - 1. 声明式函数
function ----关键词
函数名称的命名----遵守JS命名规范 👍函数名称的命名,一定要使用小驼峰命名法
( )-----函数声明固定的语法规范,在()中定义函数的形参
{}-----函数声明固定的语法规范,在{ }中定义函数的执行程序和return返回值
function 函数名称( 形参1 , 形参2 ... ){
函数程序代码
return 执行结果 / 返回值 ;
}
- - - 2. 赋值式函数(匿名函数)
var 变量 = function ( 形参1 , 形参2 ... ){
函数程序代码
return 执行结果 / 返回值 ;
}
- - - 3. 声明式函数与赋值式函数的区别----调用时,能否提前调用
与浏览器的解析机制有关:
声明式函数可以提前调用函数-----函数的声明提升
赋值式函数不能提前调用函数-----变量提升(只是变量提升了,赋给变量的值并没有提升)
【3】函数的执行(使用步骤)
-
-
-
- 定义
- 调用-----通过函数名称() 或者 变量名称()来调用执行函数程序
-
-
【4】函数中的参数
- - - 1. 形参----在 函数 封装时 在 () 中 定义 形参
在 封装函数时 ,定义 形参 ,可以不给形参赋值数据
在 封装函数时, 定义 形参 , 也可以 赋值存储的数据
调用函数时 如果没有赋值实参 形参存储的是 默认赋值的数据
调用函数是 如果赋值实参 执行效果是重复赋值效果
实现数据 会覆盖 定义形参时 赋值的数据
! 形参定义时要不要赋值 要赋值什么数据 根据实际需求设定
- - - 2. 实参----在 函数 调用时 在 () 中 定义 实参
实参 是 按照顺序 一 一对应的 给 形参 赋值 实际数据 ,调用函数程序时 按照 输入的实参 来 调用执行程序
【5】函数的返回值 return
通过return定义函数的执行结果返回值,就是说,通过return定义一个数据,将这个数据抛出函数之外,在函数之外可以任意的操作使用
注意:
函数是一个封装定义的代码块,函数中定义的变量数据都是封装在这个代码块中,外部程序不能直接调用函数中封装的变量等数据
// function fun(){
// // 在 函数中 定义的变量
// var a = 100 ;
// var b = 200 ;
// // 在函数中调用 可以正常执行
// console.log( a , b );
// }
// // 调用函数
// fun() ;
// // 在函数外调用函数内的变量
// // 调用结果是 报错
// // console.log( a , b );
作用:
①定义函数的执行结果返回值
②终止函数中return之后一切程序的执行
③不管任何函数没有设定return执行结果返回值,返回值默认是undefined
【6】补充----return与break与throw的区别
break -------->只终止循环中的程序
return -------->可以终止整个函数中的所有程序
throw -------->所有程序都会终止,包括循环的、函数的、函数外的