JavaScript中的this关键字是如何在函数调用时确定其绑定对象的?

2026-04-09 02:070阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

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

JavaScript中的this关键字是如何在函数调用时确定其绑定对象的?

在理解JavaScript中的this之前,首先了解作用域。作用域分为两种:

1. 词法作用域:引擎在代码执行前就已经确定了变量的作用域。变量在哪个作用域中声明,就只在那个作用域中查找。

2.上下文作用域:函数的执行上下文决定了this的值。

(引引擎如何查找this和在哪里查找)

在理解javascript的this之前,首先先了解一下作用域。

作用域分为两种:

  1. 1、词法作用域:引擎在当前作用域或者嵌套的子作用域查找具有名称标识符的变量。(引擎如何查找和在哪查找。定义过程发生在代码书写阶段)
  2. 2、动态作用域:在运行时被动态确定的作用域。

词法作用域和动态作用域的区别是:词法作用域是在写代码或定义时确定的;动态作用域是在运行时确定的。

this的绑定规则

this是在调用时被绑定,取决于函数的调用位置。由此可以知道,一般情况下(非严格模式下),this都会根据函数调用(调用栈)的上下文来绑定对象。

JavaScript中的this关键字是如何在函数调用时确定其绑定对象的?

一、默认绑定

默认绑定:默认绑定是指在非严格模式下,且没有使用别的绑定规则时,this根据函数调用(调用栈)的上下文来绑定对象(全局对象)。

阅读全文

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

JavaScript中的this关键字是如何在函数调用时确定其绑定对象的?

在理解JavaScript中的this之前,首先了解作用域。作用域分为两种:

1. 词法作用域:引擎在代码执行前就已经确定了变量的作用域。变量在哪个作用域中声明,就只在那个作用域中查找。

2.上下文作用域:函数的执行上下文决定了this的值。

(引引擎如何查找this和在哪里查找)

在理解javascript的this之前,首先先了解一下作用域。

作用域分为两种:

  1. 1、词法作用域:引擎在当前作用域或者嵌套的子作用域查找具有名称标识符的变量。(引擎如何查找和在哪查找。定义过程发生在代码书写阶段)
  2. 2、动态作用域:在运行时被动态确定的作用域。

词法作用域和动态作用域的区别是:词法作用域是在写代码或定义时确定的;动态作用域是在运行时确定的。

this的绑定规则

this是在调用时被绑定,取决于函数的调用位置。由此可以知道,一般情况下(非严格模式下),this都会根据函数调用(调用栈)的上下文来绑定对象。

JavaScript中的this关键字是如何在函数调用时确定其绑定对象的?

一、默认绑定

默认绑定:默认绑定是指在非严格模式下,且没有使用别的绑定规则时,this根据函数调用(调用栈)的上下文来绑定对象(全局对象)。

阅读全文