1.什么是闭包???
函数在执行的时候会形成一个私有作用域,对内部变量起到保护的作用,这就是闭包
2.变量销毁有几种方法???
(1)人为销毁:直接给声明的变量赋值null
(2)自然销毁:函数在执行完之后,浏览器会自动销毁函数内的变量
function fn(){
var a=9
a++;
console.log(a)
}
fn()
fn()
fn()
3.闭包的作用???
(1)保护变量(2)缓存数据
4.闭包的种类
(1)函数式
function fn(){
var a=3;
function ff(){
a++;
console.log(a)
}
ff()
}
(2)对象式
function fn(){
var a=45;
var obj={
num=a;
}
console.log(obj.num)
}
fn()
5.每个函数都有一个返回值,人为返回,返回什么就是什么,默认返回是undefined;
6.闭包如何缓存数据???
人为return
闭包案例: