网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月10日漏签0天
javascript吧 关注:269,204贴子:906,434
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 3 下一页 尾页
  • 39回复贴,共3页
  • ,跳到 页  
<<返回javascript吧
>0< 加载中...

简单的“闭包 ”

  • 只看楼主
  • 收藏

  • 回复
  • HTAs小白
  • switch
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
function outter(){ //外层函数
 var inner = 0; //定义内部私有变量
 return function (){ //返回一个内层函数
     return inner++; //内层中引用了外层的 inner 变量。
    }
}
var obj1 = outter(); //外层函数将引用了inner的内层函数 返回给 对象obj1,构成闭包。
alert(obj1()); //inner == 0
alert(obj1()); //inner == 1
alert(obj1()); //inner == 2
var other1 = outter(); //另一个 闭包。
alert(other1()); //inner == 0
alert(other1()); //inner == 1
alert(obj1()); //inner == 3
obj1 = null;//解除引用,inner被回收
obj1 = outter(); //重新构成闭包。
alert(obj1()); //inner == 0
alert(obj1()); //inner == 1



  • HTAs小白
  • switch
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
简单的,可以理解 inner 就是obj1的一个 私有静态变量,inner的值一只保留;对象obj1解除引用inner时,inner 被回收。


2025-08-10 22:16:31
广告
不感兴趣
开通SVIP免广告
  • itianda
  • Boolean
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
学习了,学习了,学习了,学习了,学习了,15字…


  • 708616
  • trycatch
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • HTAs小白
  • switch
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
什么字??


  • 708616
  • trycatch
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
nicai 念第4声


  • HTAs小白
  • switch
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
布机岛~~~~


  • gainover
  • Error
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
PERL语言编程里介绍到:“闭包常用的作用之一,便是作为函数模板。”


2025-08-10 22:10:31
广告
不感兴趣
开通SVIP免广告
  • lxy_lixiaoyan
  • trycatch
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
看完这个……我表示无比蛋疼……


  • black_mady
  • trycatch
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
函数模板??怎么理解,我到现在为止还是不知道闭包到底有什么作用。就是感觉用不上。唯一用过一次就是为了少用一个全局变量。但是这个很明显意义不大。


  • HTAs小白
  • switch
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
闭包的价值
  闭包的价值在于可以作为函数对象 或者匿名函数,对于类型系统而言这就意味着不仅要表示数据还要表示代码。支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中、作为参数传递给其他函数,最重要的是能够被函数动态地创建和返回。



  • itianda
  • Boolean
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
template<class T>
T Func(T in)
{
return in;
}
int main()
{
printf("%d",Func(123));
return 0;
}
不是说这个函数模板吧。。


  • itianda
  • Boolean
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我晕,这次怎么只吞缩进不吞换行


  • eclipse37
  • true
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
其实哥不懂,但是看到好贴 都是要回的。这是打酱油必备


2025-08-10 22:04:31
广告
不感兴趣
开通SVIP免广告
  • lixiaojunxuwz
  • trycatch
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
闭包其实就是java中最简单的面向对象...可以这样理解吧〉。。? outer就是类 inner就是
私有属性 匿名function 就是方法 这样理解完全没有漏洞 学习了..


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 下一页 尾页
  • 39回复贴,共3页
  • ,跳到 页  
<<返回javascript吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示