this的指向问题

183 阅读1分钟

this 指向问题
一般情况下this的最终指向的是那个调用它的对象 1.全局作用域或者普通函数中this指向全局对象window (注意定时器里面的this指向window)

console.log(this);
      function fn() {
        console.log(this);
      }
      /* window. */ fn();
      /* window. */ setTimeout(function () {
        console.log(this);
      });
      console.log(
        "华丽的分割线----------------------------------------------------------"
      );

2.方法调用中谁调用this指向谁

var o = {
        name: "zz",
        sayHi: function () {
          console.log(this); // 指向 o 这个对象
        },
      };
      o.sayHi();
      var btn = document.querySelector("button");
      //   btn.onclick = function () {
      //     console.log(this); // 指向btn
      //   };
      btn.addEventListener("click", function () {
        console.log(this); // 指向btn
      });

3.构造函数中this指向构造函数的实例

function Fun() {
        console.log(this); // 指向  fun  这个实例对象
      }
      var fun = new Fun();