一个闭包就是当一个函数返回时,一个没有释放资源的栈区
例:
<scripttype="text/javascript">
functionsayHello2(name){
vartext='Hello'+name;//localvariable
varsayAlert=function(){alert(text);}
returnsayAlert;
}
varsy=sayHello2('never-online');
sy();
</script>
上面的代码就是一个函数的引用
在Javascript里。如果你创建了一个内嵌函数,也就是创建了一个闭包。
在C或者其它的主流语言中,当一个函数返回后,所有的局部变量将不可访问,因为它们所在的栈已经被消毁。但在Javascript里,如果你声明了一个内嵌函数,局部变量将在函数返回后依然可访问。 |