跳到主要内容

概念

闭包

闭包(Closure)是指一个函数能够访问其外部函数作用域中的变量,即使外部函数已经执行完毕并返回。直到内部函数被销毁。

或者变量长期保存在这个作用域[[Scopes]]里,称为闭包。

作用域

函数调用时,都会创建新的局部变量,包含作用域链,函数定义时决定变量作用域,作用域链(词法作用域)。

垃圾回收机制

如果一个对象不再被引用,那么这个对象就会被 GC 回收。如果作为值返回对象,而不是在内部消化掉,那么就不会被回收。

当函数 return 时就删除这个对象。