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

SetTimeout()

问啥调用setTimeout()在函数里面和外面都要写setTimeout()啊?

正在回答

4 回答

首先setTimeout(startCount,time)设置的计时器,只会在延迟time时间后执行仅一次startCount函数

函数外的setTimeout()是为了在这个页面加载后先调用startCount()这个函数,

函数里的setTimerout()调用startCount这个函数本身是为了形成一个死循环:即进入函数后num+=1,然后显示在文本框中,等待1000ms后再进入这个函数重复过程。

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

良哥最棒sky 提问者

好像函数外的那个setTimeout()去掉,他们运行的效果是一样的
2019-04-10 回复 有任何疑惑可以回复我~
#2

keydew 回复 良哥最棒sky 提问者

我刚刚试了,函数外的setTimeout()去掉,文本框不会显示内容吧
2019-04-11 回复 有任何疑惑可以回复我~
#3

慕粉1474727424 回复 keydew

是不会显示内容 因为你去掉外面的settimeout,就无法运行这个函数了,里面的方法自然调用不了,你要调用这个函数先 ,你可以这样,设置一个button,点击运行这个函数就没问题了
2019-07-31 回复 有任何疑惑可以回复我~
#4

慕妹0585089 回复 慕粉1474727424

那直接通过函数名调用函数不行吗?
2019-08-15 回复 有任何疑惑可以回复我~
查看1条回复

卧槽 我懂了 为啥这里外面要写一个settimeout呢 你要调用这个函数先 ,你可以这样,设置一个button,点击运行这个函数就没问题了


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

SaulCheng

不懂,逻辑上好像还是不对呀!用函数的函数体定义函数
2019-08-02 回复 有任何疑惑可以回复我~

外部是为了在页面没有完全加载完时调用startCount函数,加载完以后才开始执行函数内的代码

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

好像也可以运行

https://img1.sycdn.imooc.com//5caecabe0001f89411640484.jpg

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

慕雪83909

我的去掉外面的setTimeout()文本框没内容
2019-07-22 回复 有任何疑惑可以回复我~
#2

慕粉1474727424

我去掉也是没内容 但是我之前做一个时钟也只是用了一次settimeout而已 我就很疑惑
2019-07-31 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

SetTimeout()

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