一些问题呀
其实虽然最后输出了“团购结束”,但其实还是有提前加载赋值的,这样其实代码就有点冗余了吧另外这是延迟调用,通过调用函数达到每隔间隔吧,真正的每隔一定间隔是setInterval()函数吧,不知道函数不断重复调用会不会占内存,请高手指点一番
其实虽然最后输出了“团购结束”,但其实还是有提前加载赋值的,这样其实代码就有点冗余了吧另外这是延迟调用,通过调用函数达到每隔间隔吧,真正的每隔一定间隔是setInterval()函数吧,不知道函数不断重复调用会不会占内存,请高手指点一番
2015-01-09
个人想法:(未查官方正统说法)
首先,代码中
setTimeout ( 函数1 , 500 );
if(Time<=0){
document.getElementById("c").innerHTML="团购已经结束";
}
这段代码,你可能以为先等待500ms,然后执行 if 代码段。其实 js 引擎并不会傻傻的等500ms,而是跳过setTimeout()执行 if 代码段;所以是先检测 time 是不是小于等于0,在执行setTimeout();
给你一段测试代码:
<script> window.onload=function(){ alert("1"); setTimeout(function(){ alert("2"); },500); alert("3"); } </script>
上面代码,先弹出1,再是3,最后才是2
其次,虽然setTimeout()严格说来是延迟调用,但是500ms的调用时间跨度在本程序并不会出现计时异常,除非定时器之前的程序命令执行时间大于500ms;
另外,setInterval()当然也是可以的,但若代码较多,风险性高一些。
举报