回调函数
函数的参数是函数,那个参数就是回调函数
闭包函数
定义一个a方法,在a方法中定义一个b方法,并且b方法里面用到了a方法里面定义的变量,那么此时就形成了闭包函数。由于内部方法里面,用到外部方法里面的变量,外部方法里面的那个变量会一直在内存中存保存着。
总结:两个方法嵌套定义,里面的函数用到了外面函数里面定义的变量,此时这两个方法就形成了闭包。
闭包函数案例,实现计算器功能
function myCalc(num1,num2,type){
switch(type){
case '+':
return function(){
return num1 + num2
}
case '-':
return function(){
return num1 - num2
}
}
}
//先准备好你的数据
let n1 = 100
let n2 = 50
//将你的数据传给计算器方法,由计算器方法,返回一个计算方法。
let js = myCalc(n1,n2,'+')
//执行计算方法
console.log(js());