chenliqio / fe-interview

前端面试题型汇总
0 stars 0 forks source link

【JS】Day4--说说你对this的理解⭐️⭐️⭐️ #10

Open chenliqio opened 2 years ago

chenliqio commented 2 years ago

一、是什么

this函数内部存在的特殊对象,它在箭头函数和标准函数中有不同的行为。

二、不同行为

  1. 标准函数中,this引用的是把函数当成方法调用的上下文对象,在网页的全局上下文中调用函数,this指向windows;
  2. 在箭头函数中,this引用的是定义箭头函数的上下文。

三、换个角度理解this

this 是浏览器像函数内部传递的一个隐含参数,this指向的一个对象,这个对象是指函数执行的上下文对象。 根据this调用方式的不同,this指向不同的对象

  1. 以函数形式调用,即fun() === window.fun(),即this指向windows;
  2. 以方法形式调用,即obj.sayName();,this指向的是调用方法的对像,即obj;
  3. 以构造函数调用时,this是新创建的对象;
  4. 以call和applay调用时,this是那个对象。