封闭函数和闭包
2019-01-10 本文已影响0人
卑微小利
(function () {
var str = '欢迎访问我的主页';
alert(str);
})();
/* !function () {
var str = '欢迎访问我的主页';
alert(str);
}()*/
~function () {
var str = '欢迎访问我的主页';
alert(str);
}()
封闭函数用 ! 或者 ~ 还有()()
闭包
function aa(b) {
var a = 12;
function bb() {
alert(a);
alert(b);
}
return bb;
}
var cc = aa(24);
//封闭函数写闭包
/*var cc =(function (b) {
var a = 12;
function bb() {
alert(a);
alert(b);
}
return bb;
})(24);*/
cc()
闭包就是函数里面有函数,也可以叫函数的嵌套
闭包的用途
1.存索引
li{
height: 30px;
background-color: gold;
margin-bottom: 10px;
}
</style>
<script type="text/javascript">
window.onload = function () {
var ali = document.getElementsByTagName('li');
for(var i=0; i<ali.length; i++){
(function (i) {
ali[i].onclick = function () {
alert(i)
}
})(i)
}
}
2.私有计数器
var count = (function () {
var a = 0;
function bb() {
a++;
return a;
}
return bb;
})();
alert(count());
alert(count());
var c = count();
alert(c);