有几个小问题

有几个小问题

老师,

1,视频中onmouerover这个鼠标进入事件,if的判断条件是timer,这个字符串转布尔值什么时候为true,什么时候为false?

2,clearInterval()方法是取消指定定时器方法对吗?结束定时器的执行,然后通过鼠标离开事件,再次进入计时器循环当中?

3,clearInterval中的参数timer,表示的是清除指定变量timer对应的计时器?不过就有个疑问,清除了该计时器,那么该计时器的参数,匿名函数会不会在取消计时器时被拿去销毁,直到下一次执行鼠标离开事件才会再次载入该匿名函数?

4,老师视屏中有两个语句:main。onmouseout();main。onmouseout=……;        我的理解是:如果main这个变量指向的元素触发了onmouseout这个事件,则对这个元素执行onmouseout事件所被赋值的相应方法,即右侧的function()?

正在回答

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

2回答

同学你好,1.  在onmouseout中为timer设置了值,这个值是一个ID值 ,可以在clearInterval()中使用。也就是说timer的值通过onmouseout设置后不为null了。在js中规定,如果一个布尔值为null,0,NaN,"",undefined等这些值的时候,是表示false的,否则表示true。所以if(timer)中的timer才是为true。

http://img1.sycdn.imooc.com//climg/5e6a0458095b5a8004700299.jpg

2.是的, 同学理解正确。

3. 匿名函数不会被销毁。

4. 同学理解是正确的。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 慕标8012353 提问者 #1
    有疑问,为何匿名函数在取消计时器方法时,不会被销毁?我记得java学匿名方法时是使用时创建,执行完毕时销毁的呀
    2020-03-12 18:16:59
好帮手慕小尤 2020-03-12 18:45:29

同学你好,JavaScript是一种编程语言,有自己的语法,与Java是有区别的。在java中匿名方法使用时创建,执行完毕时销毁。而JavaScript的匿名函数并不会在完毕时销毁。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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