闭包面试题及详细答案.docxVIP

  • 2
  • 0
  • 约4.75千字
  • 约 7页
  • 2026-06-08 发布于河北
  • 举报

闭包面试题及详细答案

一、基础必考题(入门级,考察闭包核心定义)

题目1:请用自己的话解释什么是闭包?闭包产生的核心条件是什么?

答案:闭包不是一个具体的语法,而是JavaScript中函数嵌套带来的一种“现象”——简单说,就是内层函数能够访问到外层函数中定义的变量(包括参数),即使外层函数已经执行完毕、上下文被销毁。

核心产生条件(3个,缺一不可):

存在函数嵌套(外层函数包裹内层函数);

内层函数引用了外层函数的变量(或参数);

外层函数执行后,内层函数被保存并能被调用(比如return出去、赋值给全局变量等)。

补充:很多人会误以为“闭包就是return一个内层函数”,这是误区——return只是让内层函数能被外部调用的一种方式,不是闭包的本质。只要满足上面3个条件,无论内层函数怎么被调用,都是闭包。

题目2:写出一个最简单的闭包案例,并说明它的闭包体现在哪里?

答案:案例(极简,面试手写无压力):

javascript

//外层函数

functionouter(){

//外层函数的变量

letnum=10;

//内层函数,引用了外层的num

functioninner(){

console.log(num);//访问外层变量num

}

//外层函数执行后,返回内层函数(让内层函数能被外部调用)

returni

文档评论(0)

1亿VIP精品文档

相关文档