this的指向

 this的指向

// 函数的不同调用方式决定了this的指向不同

// 1.普通函数this指向window

function fn(){

    console.log('普通函数的this'+this);

}

window.fn() //window

 

// 2.对象的方法 this指向的是对象 o

var o={

    sayHi:function(){

        console.log('对象方法的this:'+this);

    }

}

o.sayHi()

 

// 3.构造函数 this 指向ldh这个实例对象 

// 原型对象里面的this 指向的也是ldh 这个实例对象

function Star(){};

var ldh=new Star();

Star.prototype.sing=function()

 

// 4.绑定事件函数 this 指向的是函数的调用者 btn这个按钮对象

var btn=document.querySelector('button');

btn.οnclick=function(){

    console.log('绑定时间函数的this:'+this);

};

 

// 5.定时器函数 this 指向的也是window

window.setTimeout(function(){

    console.log('定时器的this:'+this);

},1000)

 

// 6.立即执行函数 this 指向也是window

(function(){

console.log('立即执行函数的this:'+this);

})()

 

this的指向