MST

星途 面试题库

面试题:JavaScript中严格模式下this的指向问题

在JavaScript严格模式下,以下代码中函数内部的this指向什么?请解释原因。 function test() { 'use strict'; console.log(this); } test();
42.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

在严格模式下,上述代码中函数 test 内部的 this 指向 undefined

原因是:在严格模式下,函数调用时如果没有明确指定 this 的绑定对象(例如通过 obj.method() 这种对象方法调用方式,此时 this 绑定到 obj;或者通过 callapplybind 方法指定 this 绑定),this 不会默认指向全局对象(在浏览器环境下是 window,在Node.js环境下是 global),而是保持为 undefined。在给定代码中,test() 是直接调用,没有任何方式指定 this 的绑定对象,所以在严格模式下 thisundefined