admin 管理员组

文章数量: 1184232


2024年3月22日发(作者:inspirational)

js this 面试题

面试中常常会被问到JS中的this关键字,因为它在JS中扮演着重

要的角色。本文将讨论一些常见的JS this面试题,帮助你更好地理解

和应对这些问题。

1. this的基本概念

在JS中,this是一个特殊的关键字,它指向当前执行代码的上下文

对象。具体指向什么对象取决于函数的调用方式。简单来说,this指的

是当前正在执行的函数所属的对象。

2. 全局作用域中的this

在全局作用域中,this指的是全局对象,即在浏览器环境中指的是

window对象,在环境中指的是global对象。例如:

```javascript

(this); // 在浏览器环境中输出window对象,在中

输出global对象

```

3. 函数调用中的this

当函数作为普通函数调用时,this指向的是全局对象。例如:

```javascript

function test() {

(this);

}

test(); // 在浏览器环境中输出window对象,在中输出

global对象

```

4. 对象方法调用中的this

当函数作为对象的方法调用时,

例如:

```javascript

const obj = {

name: "John",

sayHello: function() {

();

}

};

lo(); // 输出John

```

5. 构造函数中的this

this指向的是调用该方法的对象。

当使用new关键字调用构造函数时,this指向的是新创建的对象。

例如:

```javascript

function Person(name) {

= name;

}

const person = new Person("John");

(); // 输出John

```

6. 箭头函数中的this

箭头函数的this不会被绑定到任何特定的上下文,而是继承自外层

作用域。例如:

```javascript

const obj = {

name: "John",

sayHello: () => {

();

}

};


本文标签: 对象 函数 调用 指向 帮助