闭包 js

本文探讨了JavaScript中闭包的使用方式及其带来的优势,包括变量的持久存储、避免全局变量污染及实现私有成员等功能。同时介绍了如何利用闭包进行模块化编码,通过实例展示了如何创建可复用的函数模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<script>

 

//好处:

//1.希望一个变量长期驻扎在内存当中

//2.避免全局变量的污染

//3.私有成员的存在

 

//用法:

//1.模块化代码

//2.在循环中直接找到对应元素的索引

 

/*var a = 1;

function aaa(){

a++;

alert(a);

}

 

//aaa();  //2

//aaa();  //3

//alert(a);*/

 

 

/*function aaa(){

var a = 1;

a++;

alert(a);

}

aaa();  //2

aaa();  //2*/

 

 

/*function aaa(){

var a = 1;

return function(){

a++;

alert(a);

}

}

 

var b = aaa();

 

b();  //2

b();  //3

//alert(a);*/

 

 

/*var aaa = (function(){

 

var a = 1;

return function(){

a++;

alert(a);

}

 

})();

 

aaa();  //2

aaa();  //3*/

 

var aaa = (function(){

 

var a = 1;

 

function bbb(){

a++;

alert(a);

}

 

function ccc(){

a++;

alert(a);

}

 

return {

 

b : bbb,

c : ccc

 

}

 

})();

 

 

//aaa.b();  //2

//aaa.c();  //3

 

//alert(a);

//alert(bbb);

alert(ccc);

 

</script>

</head>

 

<body>

</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值