首页 > 试题广场 > 以下对闭包(closure)理解正确的有 &nbs
[不定项选择题]
以下对闭包(closure)理解正确的有  ()
  • 闭包是指有权访问另一个函数作用域中变量的函数;
  • 函数内再嵌套函数;
  • 内部函数可以引用外层的参数和变量
  • 参数和变量不会被垃圾回收机制回收
这个a真的是,说对有不对,说错也有对
发表于 2019-09-23 11:28:18 回复(1)
闭包的作用 1 可以读取函数内部的变量 2 可以把变量始终保存在内存中 闭包的写法 1 一个函数(即外部函数)里面包含另一个函数(即内部函数),并且return返回这个内部函数, 然后内部函数在定义内部函数之外的作用域被调用,这时的内部函数就是一个闭包了。 2 内部函数引用了外部函数的变量,这个变量不会被销毁,因为闭包需要这个变量, 所以通过闭包可以访问闭包保存的变量 function foo(){ var n = 1; function innerFoo(){ n += 1; console.log(n); } return innerFoo; } var func = foo(); func(); // 2, 产生闭包innerFoo(),变量n保存在内存中 func(); // 3 闭包的缺点 1 因为闭包的变量保存在内存中,内存泄漏,对内存的消耗很大,所以不要滥用闭包 闭包常用的地方: 1 es5 for循环事件监听 2 函数里使用了定时器 3 封装许多高级的功能集 减少闭包使用可以用立即执行函数传递变量
编辑于 2019-09-19 16:24:48 回复(0)
B说得也不对吧,函数内再嵌套函数不一定闭包啊,返回到外部才形成闭包
发表于 2019-10-10 16:35:57 回复(0)
闭包函数被推出执行栈后这时垃圾回收机制运作了,里面的变量回收机制访问不到不就被回收了,为什么不会被回收
发表于 2019-10-06 20:40:01 回复(0)
外层还是外层函数,没说清楚.....
发表于 2019-09-19 00:07:40 回复(0)