高频面试—“闭包的基本概念”

Posted 小hu同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高频面试—“闭包的基本概念”相关的知识,希望对你有一定的参考价值。

什么是闭包

闭包:函数嵌套函数。内部函数就是闭包
正常情况下,函数执行完成后内部变量会销毁
(销毁,释放内存空间)

//fn1是外部函数
function fn1(){
	let a = 10;
	//fn2是内部函数
	function fn2(){
	console.log(a);	
  }
  return fn2;
 }
let fn3 = fn1;
fn3()

闭包应用在封装上

	//立即执行函数
let module = (function(){
	let a = 1;
	let b = 2;
	function add(){
	return a + b;
  }
  function sub(){
 	return a - b;
 	}
 	return{
		add,
		sub
    }
})()

let res1 = add();
let res2 = sub();
console.log(res1);
console.log(res2)

以上是关于高频面试—“闭包的基本概念”的主要内容,如果未能解决你的问题,请参考以下文章

:高频算法第26节:高频面试算法 - 基础(上)

高频算法面试题_旋转字符串(完整的代码实现)

C语言面试高频问题:自己代码实现字符串相关的常用API

2019年17道高频React面试题及详解

uniapp 高频面试题合集

Vue面试高频考题解析