MST

星途 面试题库

面试题:JavaScript 中模块导出函数的 this 绑定基础

在一个 JavaScript 模块中,使用 ES6 模块语法导出一个函数,如下: ```javascript function moduleFunction() { return this; } export { moduleFunction }; ``` 然后在另一个文件中导入并调用这个函数,`import { moduleFunction } from './module.js'; console.log(moduleFunction());`。请问在严格模式和非严格模式下,`this` 分别指向什么?
13.1万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 非严格模式
    • this 指向全局对象(在浏览器环境中是 window,在 Node.js 环境中是 global)。因为在非严格模式下,当函数作为普通函数调用(非方法调用,没有通过对象来调用)时,this 默认指向全局对象。
  2. 严格模式
    • this 指向 undefined。在严格模式下,当函数作为普通函数调用(非方法调用,没有通过对象来调用)时,this 不会指向全局对象,而是 undefined