面试题一问到底this关键字

面试题一问到底this关键字
最新回答
故人的歌

2020-05-11 20:19:11

this关键字是JavaScript中一个重要的概念,它用于在函数内部引用当前执行代码的对象。

  • 为什么要使用this?this提供了一种优雅的方式来隐式传递对象引用,避免了在函数调用时显式传递对象。这使得代码更加简洁和灵活。

  • this的指向问题this是运行时进行绑定的,并不是在编写时绑定的,它的上下文取决于函数调用时的各种条件。this的绑定和函数声明的位置没有任何关系,只取决于函数调用的方式。

  • 如何判断this的指向?

    函数是否在new调用:如果是,那this绑定的是新创建的对象。

    函数是否通过call、apply调用:如果是,那this绑定的是指定的对象。

    函数是否在某个上下文对象中调用:如果是,this绑定就是那个上下文对象。

    如果上面都不是:使用默认绑定,严格模式下,this指向undefined,否则绑定window。