function(){} 就返回一个闭包,说明就是函数的声明,只要记住函数声明时,它所在的环境会被保留下来就行了 如果你想调用上边闭包,在闭包后边加括号就行了,就形成了(function(){})()这种插件的写法,function test(){ var i=100; function(){} } 这里闭包所在的环境是 test 函数下,而如果闭包是在外边的话,则环境就是全局变量的window下,下边一个简单的示例 function out(n){ document.body.innerHTML=n; } function test(){ var i=100,t;
http://www.jibbering.com/faq/faq_notes/closures.html
就返回一个闭包,说明就是函数的声明,只要记住函数声明时,它所在的环境会被保留下来就行了
如果你想调用上边闭包,在闭包后边加括号就行了,就形成了(function(){})()这种插件的写法,function test(){
var i=100;
function(){}
}
这里闭包所在的环境是 test 函数下,而如果闭包是在外边的话,则环境就是全局变量的window下,下边一个简单的示例
function out(n){
document.body.innerHTML=n;
}
function test(){
var i=100,t;
function out(n){ document.body.innerHTML=n;}
t=setInterval(function(){out(++i);if(i>110) clearInterval(t)},1000)
}
//setInterval 里边声明一个闭包函数并返回,入口地址传给...
闭包是用来尽量减少全局变量的声明,全局变量太多会减慢系统的索引,而且会造成一定的混乱,