扫码关注公众号

前端JS语言之闭包相关
10-24
438观看
01

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

正确答案是AC逻辑上立即执行函数可以理解为:声明闭包函数-执行-释放内存闭包内变量要到整个闭包被清除的时候才会清除

来自:JavaScript语言-闭包相关
02

关于闭包,下列说法正确的是?

正确答案是CDC语言本身并不支持闭包代码回收规则如下:1.全局变量不会被回收。2.局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西都会被销毁。3.只要被另外一个作用域所引用就不会被回收

来自:JavaScript语言-闭包相关
03

以下代码输出的结果是?

【解析】答案:010 这是一个闭包,闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。这里的局部变量i,对f1()来说是全局变量,对f2()来说也是全局变量,但是f1()的i跟f2()的i又是相互独立相互不可见的,f1()每执行一次,f1()的i就加一,f2()每次执行一次,f2()的i就加1,但是相互之间不影响,因此结果是0

来自:JavaScript语言-闭包相关
04

以下代码输出的结果是?

【解析】答案:4400440143994400test构成了一个闭包,result跟result2各自有自己的test作用域,所以最后result2.add()结果是4400前两个没啥好说的,懵逼点在第三个,这里{n:n}是对变量n里的值进行缓存,而不是本身n这个指针变量,这样生成add的时候n指向的值是多少{n:n}里的值就是多少(这里返回的对象是个深拷贝)

来自:JavaScript语言-闭包相关
课程
专栏
js语言和框架-JavaScript语言-闭包相关
3专栏
1课程
4 试题
热门专题