我理解的js闭包

20100703001016918

一、定义: 当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包。

二、作用:(1)可以读取函数内部的变量。 (2)让这些变量的值始终保持在内存中。

三、忠告:由作用可以看出如果过多的使用闭包而不释放掉这些引用,就会导致内存中的变量越来越多,影响性能。(在Javascript中,如果一个对象不再被引用,那么这个对象就会被GC回收。如果两个对象互相引用,而不再被第3者所引用,那么这两个互相引用的对象也会被回收。因为函数a被b引用,b又被a外的c引用,这就是为什么函数a执行后不会被回收的原因。)

原文地址:https://www.cnblogs.com/yichengbo/p/2980728.html