if(timer)这句话,是不是等价于if(timer==true)?

if(timer)这句话,是不是等价于if(timer==true)?

if(timer)这句话,是不是等价于if(timer==true)?当timer后面不跟任何东西的时候,是不是默认就是==true?总是对类似于if(timer)这种语句有点搞不懂,timer后面省略不写其他东西该怎么理解?

正在回答

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

3回答

你好,先搞清 setInterval 和 返回值:

1. setInterval 返回值是数字,从1开始,

2. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

比方说clearInterval(attime) ;这样就可以停止调用函数,

3. 事实上,如果你只用了一次setInterval ,返回的值就是1,多次调用返回值会累积,如 2,3.........

>好理解了这个,在来看看 if(timer) , 定时器执行后 timer 就是数值。if (数值) ,非0的数值转换成布尔值就是true ,所以可以执行里面的清楚定时器了。

希望对你有帮助,祝学习愉快。如解决你的疑惑,请采纳呦。


  • 晓白菜 提问者 #1
    谢谢老师
    2017-05-23 21:47:12
  • 老师,我尝试把if(timer),这个判断给去掉了,直接clearInterval,好像没有任何影响啊?这是怎么回事?
    2017-07-16 22:03:35
好帮手慕糖 2017-08-30 09:23:51

你好,使用计时器是会返回一个值,这个值是唯一的,可叫做ID 值,你知道会有返回这个值就行了,一般使用是不会与HTML中的id起到冲突。祝学习愉快~

好帮手慕糖 2017-07-17 11:35:52

你好,不使用if(timer)也可以清除计时器,但是if(timer)是判断计时器是否存在然后在清除。建议:添加if(timer)这个判断,可优化浏览器加载的速度,避免不必要的操作。祝学习愉快!

  • 由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。这个不理解,你的意思是老师的timer就是ID值,怎么知道它的ID值是多少?
    2017-08-30 07:34:28
  • 你所说的ID值跟id有啥关系?
    2017-08-30 07:38:55
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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