选择题1553/1628输出什么?

1var status = "😎" 2 3setTimeout(() => { 4 const status = "😍" 5 6 const data = { 7 status: "🥑", 8 getStatus() { 9 return this.status 10 } 11 } 12 13 console.log(data.getStatus()) 14 console.log(data.getStatus.call(this)) 15}, 0)
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:B:"🥑" and "😎"

this关键字的指向取决于使用它的位置。 在函数中,比如getStatusthis指向的是调用它的对象,上述例子中data对象调用了getStatus,因此this指向的就是data对象。 当我们打印this.status时,data对象的status属性被打印,即"🥑"。 使用call方法,可以更改this指向的对象。data.getStatus.call(this)是将this的指向由data对象更改为全局对象。在全局对象上,有一个名为status的变量,其值为”😎“。 因此打印this.status时,会打印“😎”

最近更新时间:2021-07-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!