今天看一个文章讲的是作者对js的this的误解到正解的求知过程
看了一圈发现我也有很多知识死角
大概总结下留作备忘
this 说白了 就是指向当前的调用者
学名叫执行上下文 execution context
this常见的几种情况是
一:对象调用本身时,就是通常的理解指向自己
var o = {
name : "way",
say : function(){
alert(this.name);
}
};
o.say ();// way ,自己调用自己的方法
二.window调用时 指向window
name = "window";
var o = {
name : "way",
say : function(){
alert(this.name);
}
};
把say方法从o对象里复制了出来 拿到window的执行环境下执行 也就是window来调用它
say = o.say ;say(); // window
三.使用原型时 this 指向调用者
function O(){
};
O.prototype={
say : function(){
alert(this.name);
}
}
var k = new O();