當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JS 闭包(计数)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>阿西吧</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;return function () {return counter += 1;}
})();
function myFunction(){document.getElementById("demo").innerHTML = add();
}
</script></body>
</html>
- 變量?add?指定了函數(shù)自我調(diào)用的返回字值。
- 自我調(diào)用函數(shù)只執(zhí)行一次。設(shè)置計(jì)數(shù)器為 0。并返回函數(shù)表達(dá)式。
- add變量可以作為一個(gè)函數(shù)使用。非常棒的部分是它可以訪(fǎng)問(wèn)函數(shù)上一層作用域的計(jì)數(shù)器。
- 這個(gè)叫作 JavaScript?閉包。它使得函數(shù)擁有私有變量變成可能。
- 計(jì)數(shù)器受匿名函數(shù)的作用域保護(hù),只能通過(guò) add 方法修改。
總結(jié)
- 上一篇: 挖矿病毒解决实例(隐藏进程,文章较好)(
- 下一篇: Python - 按天算年龄