了解Js中的this指向

Posted 那一刻~~~掩护你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了了解Js中的this指向相关的知识,希望对你有一定的参考价值。


  Js中的
this对象是在运行时基于函数的执行环境绑定的,其中的this指向很不好理解,一不小心就用错了位置;
  this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个
调用它的对象。
  
  对于this指向的理解,
我分以下几种情况来说,
this的指向
1、在全局函数中,this等于window:
var name="cyp";

console.log(this);

 

2、当函数被用作为某个对象的方法调用时,this等于哪个对象。


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

3构造函数的时候,指向实例化对象。

 function Person(name) {
        this.name=name;
        this.showName=function () {
            console.log(this)
        }
    }
    var person1=new Person("cyp");
    var person2=new Person("LCX");
    person2.showName();

4、不过匿名函数的执行环境具有全局性,因此其this对象通常指向window。


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

5、事件中,this指向触发这个事件的对象

// html:

<input type="button" value="点击" onclick="fun()">

//  JS:

document.querySelector("input").onclick=function () {
       console.log(this);
   }

 



 











以上是关于了解Js中的this指向的主要内容,如果未能解决你的问题,请参考以下文章

this指向问题

JS中的thiscallapply和bind

第149天:javascript中this的指向详解

看一遍就能掌握 js 中的 this 指向

js中的this指向

前端——浅析vue中this指向问题