已采纳回答 / 风飘叶摇
楼上那位朋友说的是对的,在这个函数里,i只是一个代表你将要传递给函数的参数,实际上你要传递给函数的参数是m和s。i只是代表一个被复制过来的参数值,并不是一个实际存在的变量。如果你要写成i=(i<10)?("0"+i):i;那这个函数第一句你要先定义一个变量var i=i;这里代表的是你将你要传递给函数的参数先赋值给变量i。//封装一个函数,来检查时分秒 function checkTime(i) { // if (i < 10) { // i = "0...
2017-08-15
已采纳回答 / 小丑鱼yang
那只是显示上感觉不出来,你可以打开调试工具(F12或者Ctel+Shift+C)你可以清楚的看到显示时间的方法的一秒钟被调用两次,而1000是只有一次。
2017-05-12
已采纳回答 / 研三学长
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
已采纳回答 / littlemin
window.onload = function() { FreshTime(); } var sh; function FreshTime() { // clearInterval(sh); var endtime = new Date("2017/1/7,21:54:00"); //结束时间 var nowtime = new Date(); //当前时间 var lefttime = parseInt((endtime.getTime() - nowtime...
2017-01-07
已采纳回答 / weixin_慕莱坞0529652
function checkTime(i){ //补位处理 if(i<10) { i='0'+i; } return i; }这里你写错了。你的 if(i<10)之后,并没有return出来值。只有i>=10的时候你的这个函数才会return值。
2016-12-27
已采纳回答 / 慕仔3074982
t=setTimeout("showTime",500);showTime后边少了一对括号(),这里的意思是没500毫秒得调用一次函数,所以正确应该是t=setTimeout("showTime()",500);
2016-12-24