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

一些问题呀

其实虽然最后输出了“团购结束”,但其实还是有提前加载赋值的,这样其实代码就有点冗余了吧另外这是延迟调用,通过调用函数达到每隔间隔吧,真正的每隔一定间隔是setInterval()函数吧,不知道函数不断重复调用会不会占内存,请高手指点一番

正在回答

2 回答

个人想法:(未查官方正统说法)

    首先,代码中

                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()当然也是可以的,但若代码较多,风险性高一些。

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

举报

0/150
提交
取消
倒计时效果
  • 参与学习       55626    人
  • 解答问题       242    个

电商网站限时抢购倒计时效果计算思路和方法,前端开发必备技术

进入课程

一些问题呀

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