这两个this没懂什么意思

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2022-07-23 16:57:52

同学你好,解答如下:

两个this都指向类Ajax的实例。this.xhr就是获取实例上的xhr对象:

https://img1.sycdn.imooc.com//climg/62dbb72c09c473a106850234.jpg

this.xhr.withCredentials=xxx就是给“实例的xhr对象,设置withCredentials属性”。

this.options是获取实例的options属性,属性值与用户传入的参数有关:

https://img1.sycdn.imooc.com//climg/62dbb78f094d113612240209.jpg

this.options.withCredentials其实就是“获取用户传入的withCredentials属性”,如果用户没传入,则使用默认值。

祝学习愉快!

  • 提问者 慕粉3910982 #1

    也就是this套this的意思吗?

    当用户通过new Ajax完成实例化,new的这个行为执行的时候,一层一层的把this指向给new出来的这个实例?

    2022-07-23 17:04:15
  • 好帮手慕久久 回复 提问者 慕粉3910982 #2

    解答如下:

    1、this.xhr.withCredentials=this.options.withCredentials这句代码,不是嵌套关系,没有this嵌套。

    2、new Ajax的时候,new这个关键字,就会把this指向Ajax的实例。同学不用管具体是怎么指向的,只要知道这个结论就行。

    3、this可以在任何方法中使用,但是不同的场景中,this指向会不同。可以回顾一下如下课程(最好仔细回顾一下,对理解this有帮助):

    https://img1.sycdn.imooc.com//climg/62dbc01d0972c9b605150405.jpg

    class中,this大多是指向实例的(并不全是指向实例),比如constructor方法中的this、init方法中的this、setCookie方法中的this,可以当成固定结论记住。

    如果发现this并不是指向实例的情况,可以通过打印(console.log(this))并结合上图中的课程,判断this具体指向谁。

    2022-07-23 18:18:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师