你能回答几个关于JS this的面试题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1398个文字,预计阅读时间需要6分钟。
前言:在JavaScript中,this是函数调用上下文的一部分。由于this的行为非常复杂,所以在JavaScript面试中,总会有关于this的问题。
做好面试的准备方法:- 练习:通过不断的练习,加深对this关键字的了解。- 本文针对this关键字进行阐述。
前言
在 JavaScript 中,this 是函数调用上下文。正是由于 this 的行为很复杂,所以在 JavaScript 面试中,总是会问到有关 this 的问题。
做好的准备面试的方法是练习,所以本文针对 this 关键字整理了 7 个有趣的面试。
注意:下面的 JavaScript 代码以非严格模式运行。
1:变量与属性
以下代码输出什么:
const object = { message: 'Hello, World!', getMessage() { const message = 'Hello, Earth!'; return this.message; } }; console.log(object.getMessage()); // => ?
答案:
输出:'Hello, World!'
object.getMessage() 是方法调用,这就是为什么方法中的 this 等于 object 的原因。
方法中还有一个变量声明 const message ='Hello,Earth!',该变量不会影响 this.message 的值。
本文共计1398个文字,预计阅读时间需要6分钟。
前言:在JavaScript中,this是函数调用上下文的一部分。由于this的行为非常复杂,所以在JavaScript面试中,总会有关于this的问题。
做好面试的准备方法:- 练习:通过不断的练习,加深对this关键字的了解。- 本文针对this关键字进行阐述。
前言
在 JavaScript 中,this 是函数调用上下文。正是由于 this 的行为很复杂,所以在 JavaScript 面试中,总是会问到有关 this 的问题。
做好的准备面试的方法是练习,所以本文针对 this 关键字整理了 7 个有趣的面试。
注意:下面的 JavaScript 代码以非严格模式运行。
1:变量与属性
以下代码输出什么:
const object = { message: 'Hello, World!', getMessage() { const message = 'Hello, Earth!'; return this.message; } }; console.log(object.getMessage()); // => ?
答案:
输出:'Hello, World!'
object.getMessage() 是方法调用,这就是为什么方法中的 this 等于 object 的原因。
方法中还有一个变量声明 const message ='Hello,Earth!',该变量不会影响 this.message 的值。

