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

计时器问题

为什么用两次setTimeout,郁闷了哦

正在回答

2 回答

 函数外层的表示调用startCount这个函数,只有调用了这个函数,他才会执行函数里面的语句,而里面的语句是函数的自调用,表示无穷循环,当外层的函数开始执行时,这时候会一直执行里面的函数,这时候才起到计时的作用,如果去掉里面的那个语句,会发现结果一直处于0,当然,外层的函数也不一定是非要是setTimeout("startCount()",1000);这个语句,只要是能触发调用startCount这个函数条件就可以,比如,你想在按下按钮的那时候才开始计时,语句实现:<input type="button" id="count" onclick="startCount()"/>;

2 回复 有任何疑惑可以回复我~
#1

这你都晓得

你写的第二种方法确实不错 不过我还是不懂外层的那个函数 为什么是starCount而不是加括号starCount()呢?
2016-08-19 回复 有任何疑惑可以回复我~
#2

穗积 回复 这你都晓得

这个setTimeout(函数,延迟时间);这里函数的表达有两种形式,setTimeout("startCount()",1000)和setTimeout(startCount,1000)带括号的话,就要加双引号,不带括号的话就不要加双引号,两种格式都是可以的.
2016-08-19 回复 有任何疑惑可以回复我~

最外层表示启动该函数,函数内部自调用,类似于递归(这个解释是“Realeve”解释的)希望能帮到你理解

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468047    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

计时器问题

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