作用:【封装】功能模块代码(常用的功能性代码,放置在function中,代码进行复用)
1、将经常使用的代码段封装成函数,提升代码复用率。
2、时间的方法体(用于绑定js事件)
3、作为参数(回调函数)来使用
一次封装,多次调用
定义 自定义函数、构造函数
函数声明:
function hello(){ //大括号里面的称为函数体、方法体 //函数体内作用域是独立的 }
对象字面量方式:
var fn = function(){ }
es6:
var fn = ()=>{ //没有this指向 } (箭头函数)
注意:
局部变量
function 内部定义的变量
全局变量:
<script></script>中定义的变量
//就近原则
var a = "123456"; function hello(){ // var a; console.log(a);//undefined var a = "456789";//变量提升,函数内部的变量提升到函数顶端 console.log(a);//456789 }
调用函数
函数作用域
函数内部可以调动全局变量
函数外部不可以调动函数内部的变量
函数的参数
形参:定义函数的过程中设置的变量
必选参数:调用过程中必须传递的参数
可选参数:调用过程中不一定传递的参数
实参:在调用函数的过程中传递的值
function sum(num1,num2){ console.log(num1+num2) } sum(100,200)
return:将函数的运行结果返回至函数调用位置
一个function当中只允许出现一次return
遇到return函数执行完毕
return的值只能有一个
总结:
功能模块的封装(一次封装,多次调用)
事件的方法体(驱动js事件)
函数参数(回调函数)
闭包
构造函数(产生“类”)