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)
本题为"单选题"
参考答案:
正确选项:B:"🥑" and "😎"
this
关键字的指向取决于使用它的位置。 在函数中,比如getStatus
,this
指向的是调用它的对象,上述例子中data
对象调用了getStatus
,因此this
指向的就是data
对象。 当我们打印this.status
时,data
对象的status
属性被打印,即"🥑"
。
使用call
方法,可以更改this
指向的对象。data.getStatus.call(this)
是将this
的指向由data
对象更改为全局对象。在全局对象上,有一个名为status
的变量,其值为”😎“
。 因此打印this.status
时,会打印“😎”
。
最近更新时间:2021-07-03
题库维护不易,您的支持就是我们最大的动力!