一.作用:
将程序代码,封装成一个代码块 --- 类似于 将 css样式 封装成 选择器
函数 : function 名称(){ 封装的程序 }
1.封装:代码更加简洁
2.调用:声明式函数,可以在任意位置调用,程序执行更加方便
3.重复使用:封装在函数中的程序,可以通过调用函数名称,被重复使用
二.声明语法:
1.声明式
以关键词 function 来定义 封装函数
语法 :
function 函数名称(参数){ 执行程序 return 返回值; }
2.赋值式/匿名函数
定义函数时,不定义函数名称,将整个函数,赋值给变量
语法:
var 变量 = function (参数){ 执行程序 return 返回值; }
说明:
调用:
声明式 通过 函数名称() 来调用执行函数
赋值式/匿名函数 通过 变量() 来调用执行函数
区别:
声明式 可以先调用函数,后定义函数
赋值式 不行,必须要先定义函数,后调用函数
实际项目中,推荐大家使用,声明式来定义函数,不要使用赋值式来定义函数
三.函数的特点
1.函数的参数
函数的参数,是函数执行时,输入的执行数据
函数的参数,定义在函数的()中,称为形参
如果形参有多个,需要使用逗号间隔
调用程序时,必须要给给形参赋值实参
如果没有赋值的形参,执行的数据是 undefined
赋值时,实参和形参,是按照顺序,一一对应的赋值
2.函数的返回值
return 返回值/执行结果
函数中定义的数据,变量等,在函数外部不能被直接使用
为什么不能被执行接使用,我们在讲 闭包 时 会详细解释
如果要使用数据,必须要通过 return 定义返回值
函数执行时,会将 return 之后的数据,抛出函数外
可以被 各种操作 (变量存储,输出,运算符运算,字符串拼接...)
任意一个函数,如果没有定义 return 返回值 执行结果都是 undefined
函数的返回值是 通过 return 抛出的函数的变量中 存储的数据,不是抛出变量
return 会终止函数中之后所有的程序的执行
一个函数中,最终只会执行一个 return
四.参数的默认值:
在定义形参时,就给形参进行赋值操作
// 在定义形参时,同时给形参赋值 // 形参的本质就是定义在函数中的变量 // 给形参赋值,等于就是在给一个变量赋值 function fun(str='北京'){ console.log( str ); } // 调用 fun() 函数时, 没有赋值 实参 // str 中 存储的 仍然是 定义时 赋值的数据北京 fun(); //输出北京 // 等于在给一个变量,进行重复赋值 // 结果是,后赋值的数据,覆盖之前赋值的数据 // 后赋值的上海,覆盖之前赋值的北京 // 执行程序时,str存储的是上海 fun('上海'); //输出上海
Comments | NOTHING