首页 > 试题广场 >

下列关于闭包描述正确的是?()

[不定项选择题]
下列关于闭包描述正确的是?()
  • 闭包内变量执行后不会被清除
  • 闭包不满足链式作用域结构
  • (Function(){})()理论上是一个闭包
  • 闭包不耗内存,可以随意使用
题目错了!
正确答案应该选择A。C选项的Function不应该大写。应该是(function () {})()或者是(new Function())()。
发表于 2020-01-07 18:10:30 回复(6)
可以用(function(){})()来构成闭包,而不是(function(){})()是闭包。这个要明确。
发表于 2020-06-24 10:26:09 回复(11)

链式作用域是js本身自然存在的一种获取变量的方式。链式作用域外部可以访问内部,内部访问外部需要设置一个函数,由此产生闭包。


发表于 2020-03-18 22:28:21 回复(2)
C:闭包可以访问其他函数内部变量的函数,而立即执行函数穿参,相当于父级变量;闭包需要手动执行,不能自主释放内存;而立即执行函数相当于做了一次函数执行,最后释放内存。逻辑上立即执行函数可以理解为:声明闭包函数-执行-释放内存
编辑于 2019-11-19 20:37:27 回复(1)
A可能得解释: 闭包内变量要到整个闭包被清除的时候才会清除,比如局部变量要等到函数执行完之后。
发表于 2019-09-09 16:26:08 回复(0)
Ped头像 Ped
立即执行函数(IIFE)不是一种闭包,它只是函数的一种调用方式,和闭包没有必然的联系,两者经常结合着一起使用,但两者的本质并不同。
编辑于 2019-10-07 16:22:08 回复(1)
A 答案不严谨,闭包只会保存被子作用域使用到的变量,未被使用的变量仍会被回收
发表于 2021-05-24 09:56:04 回复(0)
这个题答案错了 C本身不是闭包 但常常可以用立即执行函数来形成闭包。而且如果内部对外部变量的引用不一定是全部的吧?没有使用到的变量为什么不能清除?
发表于 2022-06-24 10:29:14 回复(0)
闭包产生的条件:内部函数使用外部变量+外部函数被调用(满足)
自调用函数内部内有再定义函数就没有内部函数访问外部变量,也没有对全局变量进行调用,为什么说是闭包呢?
发表于 2020-11-12 14:37:20 回复(0)
对A有疑问
(function(){ var a = 1; console.log( a ) ;})()
像这种的,也不会被清除???
发表于 2019-03-20 23:21:13 回复(4)
c不对啊,闭包是外函数包含里函数,并且里函数访问外函数的变量啊。
发表于 2023-10-23 20:28:30 回复(0)
B选项是什么意思啊?
发表于 2022-10-07 15:14:52 回复(0)
我开始怀疑人生
发表于 2022-02-12 15:32:15 回复(0)
闭包为什么不满足链式作用域结构?
发表于 2022-01-14 17:22:15 回复(0)
<p>闭包形成条件 还有对外部变量的引用吧</p><p><br></p>
发表于 2020-11-11 12:02:30 回复(0)

闭包要素:块级作用域、块级作用域内的函数,被块级作用域中函数使用的块级作用域内的变量,函数被块级作用域返回,外层函数被调用并赋值给一个变量


这两个那里原理相同了?

发表于 2020-03-05 09:34:56 回复(0)
我对这句话
(Function(){})()理论上是一个闭包
也有疑问,求大神解答!
发表于 2019-04-04 12:10:59 回复(8)