理解javascript this指向

匿名函数中的this指向window对象

这句话很经典:

每个函数在调用时,其活动对象都会自动获取两个特殊的变量:this和arguments。内部函数在搜索这两个变量时,只会搜到其活动对象为止,因此永远不肯能访问到外部函数中的这两个变量。不过,把外部作用域中的this对象保存在一个闭包能够访问的变量里,就可以放闭包访问该对象了。

理解作域链、函数表表达式

var name="The Window";  
    
var object={  
    name:"My object",  
    getNameFunc:function(){  
        var that=this; 
        return function(){  
            return that.name;  
            };  
        }  
    };  
alert(object.getNameFunc()()); //"My object"

 

闭包中对对内容的回收

/*
var elem=document.getElementById("tt"); function assignHandler(){ elem.onclick=function(){ alert(elem.id); } } assignHandler();

*/ var elem=document.getElementById("tt"); var id=elem.id;//将elem对象的属性id,为了手动回收elem function assignHandler(){ elem.onclick=function(){ console.log(id); } } assignHandler(); elem=null;//回收elem对象

 

 

 

---

posted @ 2016-04-26 16:51  libkey  阅读(148)  评论(0)    收藏  举报