这个永恒的话题一般是这样的:
你是如何理解闭包的?什么情况下用闭包?
我把闭包简单理解为,是函数返回后并没有释放内存中的资源。
个人使用情况:
1、封装,对象有私有属性或方法不希望外部直接访问的时候。
2、缓存。
3、类似独立的命名空间,避免变量污染到全局的情况,比如jQuery中
(function( window , undefined ){
})( window );
另一考题,以下这两种写法的效果是一样的,为什么?
var abc = (function(){
return{.......};
})();
var abc = (function(){
return{.......};
}());
你是如何理解闭包的?什么情况下用闭包?
我把闭包简单理解为,是函数返回后并没有释放内存中的资源。
个人使用情况:
1、封装,对象有私有属性或方法不希望外部直接访问的时候。
2、缓存。
3、类似独立的命名空间,避免变量污染到全局的情况,比如jQuery中
(function( window , undefined ){
})( window );
另一考题,以下这两种写法的效果是一样的,为什么?
var abc = (function(){
return{.......};
})();
var abc = (function(){
return{.......};
}());