js高级_111、闭包理解

1,如何产生闭包?

当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量时,就产生了闭包。

2,闭包到底是什么?

使用chrom调试查看
理解一:闭包是嵌套的内部函数
理解二:包含引用变量(函数)的对象
注意:闭包存在于嵌套的内部函数中

3,产生闭包的条件

函数嵌套

内部函数引用了外部函数的数据(变量/函数)

内部函数调用不会产生新的闭包,只有外部被调用才会产生新的闭包。

<script>
	
	function fn1(){
		var a=2;
		function fn2(){//执行函数定义就会产生闭包,执行函数定义不是指调用函数。
			console.log(a);
		}
		fn2();
	}
	
	fn1();


</script>
posted @ 2022-03-14 16:59  青仙  阅读(39)  评论(0编辑  收藏  举报