闭包 闭包javascript 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看这个帖子,讲的很细,有例子http://www.jb51.net/article/24101.htm 匿名方法能使用声明此方法的方法内部定义的局部变量void EnclosingMethod(){ string capturedVariable="captured"; MethodInvoker x=delegate() { Console.Write(capturedVariable); }}这种行为就叫闭包 <script>function a(){ var x=100; function b(){ return x; } return b;}document.write(a()());</script>这个是一个简单闭包。正常情况下函数外面无论如何也访问不了函数内变量但是通过闭包可以实现。还有一个问题要知道当函数执行过一次后就会被回收变量也被释放。但是闭包不是这样的也就是说那个x变量始终存在内存当中。因为函数没有被回收变量也没有释放这个是和普通函数一个重要区别。其实最重要的就是在函数外可以访问函数内变量。x变量相对于a来说是局部变量相对于b来说是全局变量因此b可以访问x那么接下来我访问到b函数就可以拿到x变量所以我将x作为b函数的一个返回值这样就可以访问b函数拿到x变量。就说这么多吧其实闭包还有很多知识的!你自己私下研究吧。 在360安全浏览器中的问题 在线等 求解 一个404错误 Eclipse编写JavaScript问题 请问这段代码是什么意思?.add 火狐瀏覽器下獲取焦點問題 关于下拉菜单控制iframe显示页面的问题! 高分:那位高手有用脚本写的报表表单的源码?/ 请大家帮忙修改一个正则表达式 有没有人搞vml,交流一下。 如果你能看懂,请高手帮忙解释一下这个JS函数的意思~~~ 建立飞船打陨石类游戏的框架:包括html代码和陨石的js框架 如何获取Firefox浏览器中input类型为file的上传的绝对路径?
http://www.jb51.net/article/24101.htm
void EnclosingMethod()
{
string capturedVariable="captured";
MethodInvoker x=delegate()
{
Console.Write(capturedVariable);
}
}
这种行为就叫闭包
function a(){
var x=100;
function b(){
return x;
}
return b;
}
document.write(a()());
</script>
这个是一个简单闭包。
正常情况下函数外面无论如何也访问不了函数内变量但是通过闭包可以实现。
还有一个问题要知道当函数执行过一次后就会被回收变量也被释放。但是闭包不是这样的也就是说那个x变量始终存在内存当中。
因为函数没有被回收变量也没有释放这个是和普通函数一个重要区别。
其实最重要的就是在函数外可以访问函数内变量。x变量相对于a来说是局部变量相对于b来说是全局变量因此b可以访问x
那么接下来我访问到b函数就可以拿到x变量所以我将x作为b函数的一个返回值这样就可以访问b函数拿到x变量。
就说这么多吧其实闭包还有很多知识的!你自己私下研究吧。