已采纳回答 / 小丑鱼yang
那只是显示上感觉不出来,你可以打开调试工具(F12或者Ctel+Shift+C)你可以清楚的看到显示时间的方法的一秒钟被调用两次,而1000是只有一次。
2017-05-12
最新回答 / qq_喷泉_0
1.可以换算为秒,不过使用的goTime()方法是返回1970年1月1日至今的毫秒数,转换为秒依然要除1000,像:lefttime=parseInt((endtime.getTime()-newtime.getTime())/1000);//返回结束时间与当前时间的秒数2.如果你是希望在获取时间时是直接获取秒,getSeconds()方法只能获取结束日期与当前日期的秒,不获取时分。对上面两种回答不知道能否解决你的疑问(如果有你的代码就更好了)
2017-04-17
最新回答 / Z_hao
lefttime 那里没有除以1000 var lefttime= parseInt((endtime.getTime() - nowtime.getTime())/1000); =======================完整代码:function FreshTime(){ var endtime=new Date("2018/10/1,12:20:12");//结束时间 var nowtime = new Date();//当前时间 var lefttim...
2017-04-15
已采纳回答 / 研三学长
setTimeout放在函数体中调用自己,就是递归,至于setInterval和setTimeout的优劣可以参考高程3的技巧一章某些代码不可以在没有间断的情况连续重复执行。第一次调用函数,创建一个定时器,在指定的时间间隔之后运行代码。当第二次调用该函数时,它会清除前一次的定时器并设置另一个。如果前一个定时器已经执行过了,这个操作就没有任何意义。如果前一个定时器未执行,其实就是将其替换为一个新的定时器。目的是只有在执行函数的请求停止了一段时间之后才执行。
2017-04-14
已采纳回答 / Yexiaomo
当然可以! setTimeout(code,millisec) 用于在指定的毫秒数后调用函数或计算表达式。(也就是指执行一次)setInterval(code,millisec) 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式(也就是永远不...
2017-03-19
已采纳回答 / 熊猫兔击队
我个人的理解是,因为setTimeout是“等至少***ms才执行,且执行一次”,而不是“每隔***ms就执行(这是setInterval的功能)”。根据w3school的说明,setTimeout本身是没有循环的功能的。它之所以能“循环”是因为被showTime在内部的最后调用了,而showTime在调用setTimeout之前运行的代码也是要花时间的,那如果我们假设showTime的代码比较长,需要600ms才执行完,那你设setTimeout是500ms的话,总时间就是600 + 500 >1...
2017-03-08