javascript中this关键字详解

this对象是在运行时基于函数的执行环境绑定的。在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。也就是说this关键字总是指代调用者。

var k = 10 ; 
function test(){
    this.k = 20 ;
}
//window.test();
window.test();
//alert(test.k); undefined
alert(k);

对于上述的代码片段,执行以下各测试代码运行结果:

alert(test.k);   //undefined

因为this对象只会在运行的时候被绑定


test();
alert(test.k);  //undefined

因为this被绑定的是调用这个函数的对象,也就是当前window


test();
alert(window.k);  //20
alert(k);   //20

实际上是覆盖了之前申明的全局变量a=10

发布了85 篇原创文章 · 获赞 12 · 访问量 11万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章