2018-12-05封闭函数和闭包
2018-12-05 本文已影响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();
- 闭包就是函数里面有函数,也可以叫函数的嵌套
闭包用途
- 保存索引
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)
}
}
私有计数器
var count = (function () {
var a = 0;
function bb() {
a++;
return a;
}
return bb;
})();
alert(count());
alert(count());
var c = count();
alert(c);