首页 > 其他 > 详细

this的指向

时间:2019-09-26 18:53:17      阅读:75      评论:0      收藏:0      [点我收藏+]

1.函数中的this,是谁调用,指向谁

遵循两条原则:a.判断this在哪个函数中 b. 这个函数是那种调用模式调用的

(1)普通函数调用,指向window

<script>
  function fn(){
    console.log(this)
  }
  fn()
  </script>

打印结果:window

(2)对象调用,指向obj

<script>
  function fn(){
    console.log(this)
  }
  var obj={}
  obj.f=fn;
  obj.f();
  </script>

打印结果:{f:f}

(3)new 调用函数,this指向创建出来的实例

  <script>
  function fn(name){
   this.name=name;
   this.say=function(){console.log(我的名字是+this.name)}
  }
 var f =new fn(张三);
 f.say()
  </script>

打印结果:我的名字是张三

(4)注册事件,this指向事件源

<body>
<div class="box">box的内容</div>
  <script>
  var box=document.getElementsByClassName(box)[0]
box.onclick=function(){
console.log(this.innerHTML)
}
</script>
</body>

打印结果:box的内容

(5)定时器调用,this指向window

  <script>
  function fn(){
    console.log(this)
  }
setInterval(fn,1000)
</script>

打印结果:window

 

this的指向

原文:https://www.cnblogs.com/zhaodz/p/11593119.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!