为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不声明This变量,而直接用this.time是不行的呢

为什么不声明This变量,而直接用this.time是不行的呢

正在回答

2 回答

this是谁调用就指向谁,当i元素调用onmouseover方法,里面的匿名函数中的this是指向li这个元素的对象,而调用setInterval方法的对象实际是window对象,在setInterval里面的this其实是指向window对象,这里涉及到JavaScript对象方面的问题,可以自己找资料详细了解

0 回复 有任何疑惑可以回复我~

你说的是clearInterval这里吧,因为要在serInterval中要使用指向a[i].onmouseover的this,所以就把它定义成一个变量,这样setInterval可以访问外一层的变量,所以可以直接调用this了,而如果直接用this,setInterval中的this会指向自己。而clearInterval方法直接在a[i].onmouseover中调用,直接传的this就是指向a[i].onmouseover的,不需要再把this赋值给一个变量了,当然你也可以那样用。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
导航条菜单的制作
  • 参与学习       123899    人
  • 解答问题       813    个

水平、垂直、圆角导航条菜单,让您的技术探索之路更高效

进入课程

为什么不声明This变量,而直接用this.time是不行的呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信