什么是闭包?闭包的应用场景有哪些?

闭包的本质是内部函数的一个容器,这个容器中包含了引用的变量。

怎么产生的?

嵌套的两个函数,内部函数引用了外部函数的变量,当调用外部函数时,就产生了闭包。

有什么作用?

可以延长局部变量的生命周期。

让函数外部可以操作内部函数的变量。

区别产生闭包与使用闭包及释放闭包?

产生闭包:外部函数调用了,内部函数执行了,闭包就产生了。

使用闭包:内部函数执行。

释放闭包:断开内部变量的所有指向。

应用场景?

1_删除列表中的某个商品的例子

2_定时器

写一个简单的闭包?

function fn1() {

var a = 2;

var b = 3;

function fn2() {

a++;

console.log(a);

}

return fn2;

}

var f = fn1();

f();

f();

f = null;

你可能感兴趣的:(javascript)