函数封装问题

函数封装问题

https://img1.sycdn.imooc.com//climg/625bc293091a955408270243.jpg

https://img1.sycdn.imooc.com//climg/625bc2de092e921e05380478.jpg

老师不是说 出现了定时器其上下文规则 this指代window

难道进行封装之后  其函数的上下文规则就会脱离 定时器吗?


搞不懂是否会发生这种情况, 若是的话那么

我们进行了封装其目的是否就是为了防止 上下文规则而造成的  this指代混乱问题?


求老师解释




正在回答

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

1回答

同学你好,对于你的问题解答如下:

1、封装之后并不会影响定时器中函数的上下文指向,要将两个方式区分开。

2、定时器中的函数内部this确实指向window,但是upd方法中的this指向与它的调用方式有关,ballarr[i].upd()通过对象打点方法调用,upd函数内部的this指向ballarr[i]这个对象

3、这里的封装的目的主要是为了简化代码书写,即:将每个小球都需要重复做的事情封装成一个方法,方便重复调用,简化书写

祝学习愉快~

  • 鸣蜩十柒 提问者 #1

    哦哦! 我都没想到 obj.fun() 这个上下文规则    还是记的不熟练

    2022-04-17 18:15:53
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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