浅谈this在普通函数里情况

1.document.onclick=function(){

     console.log(this);
}

// document

 

2.function fn(){

   console.log(this);
}

document.onclick=function(){

   window.fn();
 }

// window

3.setInterval(function(){

console.log(this);
},1000);

//window

庖丁解牛

function show(fn){
    fn&&fn();
}

show(function(){
    console.log(this);
});

//window

4.var obj={

   a:10,
   b:20,
  fn:function(){
   console.log(this);
}
}

obj.fn();


小试牛刀

var obj = {
    a:10,
    b:12,
fn:function(){
    function show(){
      console.log(this.a);
    }
    show();
  }
}

obj.fn();

//undefined

注意:回调函数里面的this永远指向的是window (除箭头函数以外)

 

posted @ 2018-08-16 22:19  静守己心,笑谈浮华  阅读(111)  评论(0编辑  收藏  举报