请问js闭包 如何标记回收
小白求教请问下面代码会生成闭包吗,如果会生成的话该如何在用完这个函数以后标记回收呢,如果没办法标记回收的话请问会造成内存泄漏吗?functiona(){varnum=12...
小白求教
请问下面代码会生成闭包吗,如果会生成的话 该如何在用完这个函数以后标记回收呢,如果没办法标记回收的话 请问会造成内存泄漏吗?
function a(){
var num = 12;
return function b(){
console.log(num)
}
}
a()(); 展开
请问下面代码会生成闭包吗,如果会生成的话 该如何在用完这个函数以后标记回收呢,如果没办法标记回收的话 请问会造成内存泄漏吗?
function a(){
var num = 12;
return function b(){
console.log(num)
}
}
a()(); 展开
1个回答
2019-04-23
展开全部
是闭包。不会泄露。
js的内存回收是系统自动的,不会造成内存泄漏。
全局变量是不会被回收的。所以要慎用全局变量,因为占用内存。一个变量不会占用很多内存,但是不注意很多的变量还是有可能吃光内存的。
尽量用let声明局部变量,不要用全局变量。
js的内存回收是系统自动的,不会造成内存泄漏。
全局变量是不会被回收的。所以要慎用全局变量,因为占用内存。一个变量不会占用很多内存,但是不注意很多的变量还是有可能吃光内存的。
尽量用let声明局部变量,不要用全局变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询