JavaScript中如何全面理解并应用this关键字及其典型用法?

更新于
2026-10-02 11:39:14
0阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1789个文字,预计阅读时间需要8分钟。

前言 + this 关键字在 Javascript 中非常常见,但很多开发者很难说清楚它到底指向什么。大部分人会从字面意思上去理解 this,认为 this 指向函数自身,但实际上 this 是在运行时进行绑定的,并不一定是指向函数本身。

前言

this 关键字在 Javascript 中非常常见,但是很多开发者很难说清它到底指向什么。大部分人会从字面意思上去理解 this,认为 this 指向函数自身,实际上this 是在运行时进行绑定的,并不是在编写时绑定,它的上下文取决于函数调
用时的各种条件。this 的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。

总结: 函数被调用时发生 this 绑定,this 指向什么完全取决于函数在哪里被调用。

一、this 的绑定规则

this 一共有 4 中绑定规则,接下来一一介绍每种规则的解释和规则直接的优先级

  • 默认绑定(严格/非严格模式)
  • 隐式绑定
  • 显式绑定
  • new 绑定

1.1 默认绑定(严格/非严格模式)

  • 独立函数调用: 独立函数调用时 this 使用默认绑定规则,默认绑定规则下 this 指向 window(全局对象)。
  • 严格模式下: this 无法使用默认绑定,this 会绑定到 undefined。
阅读全文

本文共计1789个文字,预计阅读时间需要8分钟。

前言 + this 关键字在 Javascript 中非常常见,但很多开发者很难说清楚它到底指向什么。大部分人会从字面意思上去理解 this,认为 this 指向函数自身,但实际上 this 是在运行时进行绑定的,并不一定是指向函数本身。

前言

this 关键字在 Javascript 中非常常见,但是很多开发者很难说清它到底指向什么。大部分人会从字面意思上去理解 this,认为 this 指向函数自身,实际上this 是在运行时进行绑定的,并不是在编写时绑定,它的上下文取决于函数调
用时的各种条件。this 的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。

总结: 函数被调用时发生 this 绑定,this 指向什么完全取决于函数在哪里被调用。

一、this 的绑定规则

this 一共有 4 中绑定规则,接下来一一介绍每种规则的解释和规则直接的优先级

  • 默认绑定(严格/非严格模式)
  • 隐式绑定
  • 显式绑定
  • new 绑定

1.1 默认绑定(严格/非严格模式)

  • 独立函数调用: 独立函数调用时 this 使用默认绑定规则,默认绑定规则下 this 指向 window(全局对象)。
  • 严格模式下: this 无法使用默认绑定,this 会绑定到 undefined。
阅读全文