闭包
什么是闭包?如何才能生成闭包?
什么是闭包?
闭包就是能够读取其他函数内部变量的函数。 本质上闭包就是将函数内部和函数外部相结合起来,延长函数内部变量的使用寿命。
如何才能生成闭包?
由于函数都哦是拥有自己的作用域的,所以在自己的作用域内,只能使用内部的变量,而内部的变量使用完成后就会被销毁,这是js的垃圾回收机制。 但是如果形成闭包执行完成后,变量不会被销毁,通过接口给外部使用,但外部不能直接访问。(子访问父)
function fn1(){
var num
=10;
function fn2(){
console
.log(num
)
}
fn2()
}
fn1()
在js种函数外var定义变量,函数内是可以使用的,反之则不行,但是如果函数外想要使用函数内的变量,return到与父函数同级就可以使用了。