閉包是一種保護(hù)私有變量的機(jī)制凿渊,在函數(shù)執(zhí)行時(shí)形成私有的作用域,保護(hù)里面的私有變量不受外界干擾捻浦。直觀的說就是形成一個(gè)不銷毀的棧環(huán)境猾编。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<p>局部變量計(jì)數(shù)。</p>
<button type="button" onclick="myFunction()">計(jì)數(shù)!</button>
<p id="demo">0</p>
<script>
var add = (function () {
var counter = 0;
console.log("======"+counter)
return function () {return counter += 1;}
})();
//返回一個(gè)方法
console.log(add)
//返回方法的執(zhí)行結(jié)果
console.log(add())
function myFunction(){
document.getElementById("demo").innerHTML = add();
}
</script>
</body>
</html>
https://www.runoob.com/js/js-function-closures.html