Barret Lee Home
facebook send mail to barret sina weibo
share

this的指向edit

日期:2015-04-13

作者: Barret Lee

网友问题:

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

原因:

object.getNameFunc() ,此时的 object.getNameFunc 为引用类型,其 base 为 object,this 指向的是 base,所以返回 object.name 的值

name = object.getNameFunc, test 作为标识符,生成了其他引用类型的值,此时 base 已经从 object 重置为 null,也就是会指向 global(window),所以返回的是 window.name 的值。

问题的关键在于「引用类型(type Reference)的中间值发生改变」

标签: this reference
上一篇:从Facebook跑来阿里的赵海平大叔,你要干啥?
下一篇:Xcode-select Error