日期:2014-05-16  浏览次数:20495 次

闭包的小问题
之前看书自学过。。。太长时间没关注,忽然想起来又看了看,之前的功全白做了

- - |||

重头来。
闭包可以理解为:相对在外部函数(在java也可以叫做类)内部变量的引用,并且返回引用的变量(或方法),使调用者可以“持有”这个变量,不被释放,从而形成闭包。

都说尽量避免出现闭包的情况,谁能简单说说呀?

还有,下面的例子是不是已经形成闭包了?

function List(){  
var m_elements = [];
m_elements = Array.apply(m_elements,arguments);
this.length = {
valueOf : function(){
return m_elements.length;
},
toString : function(){
return m_elements.length;
}
}
}


------解决方案--------------------
作用域搞清楚 所谓的闭包还有什么
------解决方案--------------------
闭包是一种设计原则,它通过分析上下文来简化用户的调用,让用户在不知晓的情况下达到他的目的。
你的例子不是闭包。