全局变量会一直存在,除非手动释放。局部变量出了这个作用域就会释放,显然对内存提升有好处。那么闭包的变量,是像局部变量一样只能内部访问,但又会像全局一样在内存中始终存在是么
清掉访问变量的那个函数变量就释放了
会不会一直存在,要看你在嵌套的函数递归调用中有没引用
闭包变量肯定是在内存中的,要不然等你要用的时候怎么可以用呢?肯定是占用内存的
个人理解你说的对,变量是会一直存在,但是外层函数并不会。闭包主要是为了你能够访问变量,也能控制你如何访问变量,如何更新变量。
就像全局变量一样,如果释放了对闭包的引用,这个变量也会释放的。