导航
×
   ❮   
HTML CSS JavaScript PHP Go Sass W3C Colors ECMS

JS 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JS 高级教程

JS 对象 JS 函数 JS 类 JS 迭代 JS Promises JS 模块

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 元素:

示例

<button onclick="this.style.display='none'">
  Click to Remove Me!
</button>

亲自试一试 »


this 优先级

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

顺序 对象 因为
1 bind() this 位于一个使用 bind() 调用的函数中
2 apply() this 位于一个使用 apply() 调用的函数中
2 call() this 位于一个使用 call() 调用的函数中
3 对象方法 this 位于对象函数(方法)中
4 全局作用域 this 位于全局作用域的函数中

Copyright ©2020-2026 freew3c.com All Rights Reserved 提供的内容仅用于学习和测试,不保证内容的正确性。