javascript中的this
在JavaScript中,this
关键字的值取决于它被使用的上下文。它并不像其他编程语言中的this
总是指向对象的实例,而是可能指向不同的对象。以下是几种常见的this
的用法及其指向的内容:
全局上下文
在全局范围(即没有在任何函数或对象内)中,this
指向全局对象。在浏览器中,这通常是window
对象。
1 | console.log( this ); // 在浏览器中输出:Window |
普通函数
在普通函数中,this
的值在严格模式和非严格模式下有所不同:
- 非严格模式:
this
指向全局对象(在浏览器中为window
)。 - 严格模式:
this
为undefined
。
1 2 3 4 | function foo() { console.log( this ); } foo(); // 非严格模式:输出Window,严格模式:输出undefined |
构造函数
在构造函数中,this
指向新创建的实例对象。
1 2 3 4 5 | function Person(name) { this .name = name; } const person = new Person( "Alice" ); console.log(person.name); // 输出 "Alice" |
箭头函数
箭头函数中的this
在定义时绑定到它所在的上下文,而不是调用它的对象。它会继承外层函数或全局作用域的this
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」