闭包是什么?

152 阅读1分钟

一.什么是闭包? 1.概念:函数和函数内部能访问到的变量的总和就是一个闭包。

2.代码如下:

functon f1(){
	var local = '变量'
	function f2(){
			console.log(local)
	}
}
//local变量和f2函数就是一个闭包

二.闭包的用途?

1.闭包的用途:

闭包常常用来间接访问一个变量,或者说用来隐藏一个变量。

2.代码举例:

function(){
    var lives = 100
    
    window.life = function(){
        lives += 1  
    }
    
    window.die = function(){
        lives += 1
    }
}()

上面的代码中有俩闭包:

第一个是,变量lives 和 window.life后面的那个函数

第二个是,变量lives和 window.die后面的那个 函数

三.闭包的缺点: 在IE浏览器中使用完闭包,回收不了闭包里面的变量