📌  相关文章
📜  资质| JavaScript课程测验3 |问题10(1)

📅  最后修改于: 2023-12-03 15:41:50.126000             🧑  作者: Mango

资质| JavaScript课程测验3 |问题10

这是一个关于 JavaScript 语言的测验,问题10,考察对于 JS 中对象的理解。

问题描述

下面的代码执行之后,控制台输出什么?

var obj = {
    a: 1,
    b: function() {
        console.log(this.a);
    }
};
var a = 2;
obj.b();

请解释为什么输出结果是 1。

分析

首先,我们定义了一个对象 obj,它有两个属性:a 和 b。其中 a 的值为 1,b 是一个函数,它的作用是输出 obj 的 a 属性的值。

接着,我们定义了一个全局变量 a,它的值为 2。

最后,我们调用 obj 的 b 属性,因为 b 属性是一个函数,所以会在控制台输出 obj 的 a 属性的值。

在函数中,this 关键字指向函数所属的对象,也就是 obj 对象。因此在输出 a 的时候,实际上是输出了 obj 的 a 属性的值,也就是 1。

结论

运行上述代码后,控制台会输出结果为 1。

返回markdown格式
# 资质| JavaScript课程测验3 |问题10

这是一个关于 JavaScript 语言的测验,问题10,考察对于 JS 中对象的理解。

## 问题描述

下面的代码执行之后,控制台输出什么?

```javascript
var obj = {
    a: 1,
    b: function() {
        console.log(this.a);
    }
};
var a = 2;
obj.b();

请解释为什么输出结果是 1。

分析

首先,我们定义了一个对象 obj,它有两个属性:a 和 b。其中 a 的值为 1,b 是一个函数,它的作用是输出 obj 的 a 属性的值。

接着,我们定义了一个全局变量 a,它的值为 2。

最后,我们调用 obj 的 b 属性,因为 b 属性是一个函数,所以会在控制台输出 obj 的 a 属性的值。

在函数中,this 关键字指向函数所属的对象,也就是 obj 对象。因此在输出 a 的时候,实际上是输出了 obj 的 a 属性的值,也就是 1。

结论

运行上述代码后,控制台会输出结果为 1。