js中this的指向总结

时间:2023-03-09 17:53:08
js中this的指向总结

// this要在执行时才能确认值,定义时无法确认。下面是常见的几种this指向。

//1、在构造函数执行

    function Obj(name,age){

    //1、实例化时:会创建一个 空对象    this={}

              //2、为this赋予属性

      this.name = name;

      this.age    = age; 

     //3、把this对象返回出去

      return this;

}

    //4、把返回的对象赋予obj     这时this才真正有指向、指向obj;

    var obj = new Obj("kai",18);
//2、在对象属性执行

    var obj = {

    name        :"A",

    printName:function(){

      console.log(this.name)//this指向obj

}

}

    obj.printName();

//3、在普通函数执行

  function obj(){

  console.log(this)//this指向window

}
//4、继承中执行    call apply bind

  function obj(){

  console.log(this)//this指向对象{name:"李磊"}

}

  obj.call({name:"李磊"},null)// obj函数被{name:"李磊"}继承