❮ JavaScript 函数调用

JavaScript call() 函数 ❯

JavaScript 函数中的 this

什么是this?

在 JavaScript 中,this关键字指的是一个对象。

this关键字指的是不同的对象,具体取决于它的使用方式:

单独使用时,this 指的是全局对象。

在函数中,this 指的是全局对象。

在函数中,如果处于严格模式,this 的值为undefined。

在对象方法中,this 指的是 对象。

在事件中,this 指的是接收该事件的 元素。

像 call()、apply() 和 bind() 这样的方法可以将 this 引用给 任何对象。

注意

this 不是一个变量。

this 是一个关键字。

您无法更改 this 的值。

this 单独使用

单独使用时,this 指的是全局对象。

因为 this 位于全局作用域中。

在浏览器窗口中,全局对象是 [object Window]:

示例

let x = this;

亲自试一试 »

在严格模式下,单独使用时,this也指全局对象:

示例

"use strict";let x = this;

亲自试一试 »

this 在函数中(默认)

在函数中,默认情况下,this 是全局对象。

在浏览器窗口中,全局对象是[object Window]:

示例

function myFunction() {

return this;

}

亲自试一试 »

this 在函数中(严格模式)

JavaScript 严格模式 不允许默认绑定。

在严格模式下,当在函数中使用 this 时,undefined。

示例

"use strict";function myFunction() {

return this;

}

亲自试一试 »

this 在事件处理程序中

在 HTML 事件处理程序中,this 指的是接收到事件的 HTML 元素:

示例

亲自试一试 »

this 优先级

使用以下优先级顺序来确定 this 指的是哪个对象:

顺序对象因为

1bind()

this 位于一个使用 bind() 调用的函数中

2apply()

this 位于一个使用 apply() 调用的函数中

2call()

this 位于一个使用 call() 调用的函数中

3对象方法

this 位于对象函数(方法)中

4全局作用域

this 位于全局作用域的函数中

❮ JavaScript 函数调用

JavaScript call() 函数 ❯