JS闭包
闭包是在另一个函数(称为父函数)中定义的函数,并且可以访问在父函数作用域中声明和定义的变量。
简单来说,闭包就是在一个函数当中再嵌套一个函数,内层函数可以访问外层函数中声明和定义的变量,而外层函数却不能访问内层函数中声明和定义的变量,内层函数向对于外层函数来说是封闭的,所以当在一个函数中还定义了一个函数,内层函数是一个闭包。
eg:
function f1(){
var a=123;
//f2是一个闭包
function f2(){
var b=3
//f2方法返回值
return b;
};
//将f2方法的返回值赋值给n
a =f2();
console.log(a);
}
f1();
输出结果为:3
JS回调函数
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。