# 闭包(2)

JS的内存管理和闭包

所有编程语言的运行都离不开内存的分配与释放。内存的生命周期通常包括三个步骤:

#JavaScript#内存管理#闭包
js中闭包

当执行完foo函数,GO对象中的fn指向foo函数中的bar函数对象,因为bar函数对象的父级作用域指向foo函数的AO对象,所以foo函数中的变量name并不会被销毁。这样当fn函数执行了一次,foo的AO对象和bar函数对象不会被销毁,就会产生内存泄漏。可以手动指定 fn = null 来销毁。

#JavaScript#闭包