logo

为什么 JavaScript 中的 this 会表现得不一致?

Why is "this" operator inconsistent in JavaScript?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: javascript-advanced

标签: javascript, this, call, apply, bind, context

参考答案摘要

TL;DR this 的值取决于“函数如何被调用”而不是“在哪里声明”,且可被 call/apply/bind 改写,因此在不同场景下容易出现不一致的表现。 JavaScript 中的 this 可能表现不一致,因为它会根据使用位置而有不同值。它的值由函数“如何被调用”决定,而不是由“在哪里声明”决定。 this 的值也可以通过 call 、 apply 或 bind 改变,使得在特定情境下难以预...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

为什么 JavaScript 中的 this 会表现得不一致?

Hardjavascript

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案