普通函数的this指向
时间: 2023-08-20 14:13:47 浏览: 171
javascript的this指向
普通函数的 `this` 指向取决于函数的调用方式。在 JavaScript 中,有以下几种常见的函数调用方式:
1. 全局作用域下的函数调用:当函数在全局作用域下被调用时,`this` 指向全局对象(在浏览器环境中通常是 `window` 对象)。
2. 对象方法调用:当函数作为对象的方法调用时,`this` 指向调用该方法的对象。
3. 构造函数调用:当函数使用 `new` 关键字创建实例时,`this` 指向新创建的实例对象。
4. 使用 `call()` 或 `apply()` 方法调用:通过 `call()` 或 `apply()` 方法调用函数时,可以显式地指定 `this` 的值。
5. 箭头函数:箭头函数不绑定自己的 `this` 值,而是继承外部作用域的 `this` 值。
需要注意的是,使用严格模式(`"use strict"`)时,全局作用域下的函数调用中的 `this` 会被绑定为 `undefined`,而非全局对象。
这是针对普通函数的一般情况,但在特殊情况下,可以通过使用 `bind()`、`call()`、`apply()` 等方式来显式地改变函数内部的 `this` 指向。
阅读全文