1const shape = { 2 radius: 10, 3 diameter() { 4 return this.radius * 2 5 }, 6 perimeter: () => 2 * Math.PI * this.radius 7} 8 9console.log(shape.diameter()) 10console.log(shape.perimeter())
本题为"单选题"
参考答案:
正确选项:B:20 and NaN
注意 diameter
的值是一个常规函数,但是 perimeter
的值是一个箭头函数。
对于箭头函数,this
关键字指向的是它当前周围作用域(简单来说是包含箭头函数的常规函数,如果没有常规函数的话就是全局对象),这个行为和常规函数不同。这意味着当我们调用 perimeter
时,this
不是指向 shape
对象,而是它的周围作用域(在例子中是 window
)。
在 window
中没有 radius
这个属性,因此返回 undefined
。
最近更新时间:2024-08-03
题库维护不易,您的支持就是我们最大的动力!