📅  最后修改于: 2023-12-03 15:41:50.126000             🧑  作者: Mango
这是一个关于 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。
# 资质| 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。