本文
前往“校招VIP”小程序,访问更方便

【校招VIP】前端JS语言之闭包相关

小拿 12月11日

考点介绍:

闭包是js的一个难点也是它的一个特色,是我们必须掌握的js高级特性。我们想在一个函数内部也有限权访问另一个函数内部的变量该怎么办呢?闭包就是用来解决这一需求的,闭包的本质就是在一个函数内部创建另一个函数。

答案详情解析和文章内容可扫下方二维码或链接即可查看!

一、考点题目

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

A.(function(){})()理论上是一个闭包

B.闭包不耗内存,可以随意使用

C.闭包内变量执行后不会被清除

D.闭包不满足链式作用域结构

正确答案: AC,逻辑上立即执行函数可以理解为:声明闭包函数-执行-释放内存……

2. 什么是闭包,如何使用它,为什么要使用它

解答:就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”……

3.什么是js的闭包?有什么作用,用闭包写个单例模式

解答:MDN对闭包的定义是:闭包是指那些能够访问自由变量的函数,自由变量是指在函数中使用的,但既不是函数参数又不是函数的局部变量的变量,由此可以看出,闭包=函数+函数能够访问的自由变量,所以从技术角度讲,所有JS函数都是闭包,但是这是理论上的闭包......

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

A.在闭包对应的函数销毁后,闭包依然在内存中,不会被回收

B.C 语言中也有闭包的概念

C.闭包是一种语言特性,很多函数是一等公民的语言在设计时都会选择

D.函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)

正确答案:CD,C语言本身并不支持闭包……

5.垃圾回收机制(闭包的延伸)

解答:js拥有特殊的垃圾回收机制,当一个变量在内存中失去引用,js会通过特殊的算法将其回收,并释放内存......

二、考点文章

1.js中的闭包

闭包是js的一个难点也是它的一个特色,是我们必须掌握的js高级特性,那么什么是闭包呢?它又有什么用呢......

2.闭包,看这一篇就够了——带你看透闭包的本质

每次外部函数执行的时 候,外部函数的引用地址不同,都会重新创建一个新的地址......

3.JS前端闭包是什么?私有变量可以用到闭包

百度百科定义:闭包就是能够读取其他函数内部变量的函数。创建闭包的通常方式,是在一个函数内部创建另一个函数......

三、考点视频

1.跨域场景和解决方案

需要理解同源概念、跨域的主要场景以及前端和服务器端的解决方法,属于面5的必考点

pc端专题链接:https://xiaozhao.vip/dTopic/detail/1445

移动端专题链接:https://m.xiaozhao.vip/dTopic/detail/1445

暂无回复