js---闭包
如何产生闭包?
当一个嵌套的内部函数引用了嵌套的外部函数变量时,就产生了闭包
闭包是什么?
理解一:是嵌套的内部函数
理解二:包含被引用变量(函数)的对象
注意:闭包存在于嵌套的内部函数中
产生闭包的条件
函数嵌套
内部函数应用了外部函数的数据(变量/函数)
执行函数的定义就会产生闭包(不用调用内部函数)
function fn1(){ var a=2 var b='abc' function fn2(){ console.log(a) } } fn1()
常见的闭包
1.将函数作为另一个函数的返回值
2.将函数作为实参传递给另一个函数调用
闭包的作用
1.使函数内部的变量在函数执行完后,仍然存活在内存中(延长了局部变量的生命周期)
2.让函数外部可以操作(读写)到函数内部的数据(变量/函数)
浙公网安备 33010602011771号