【时间复杂度优化】关于动态倒计时减少计算次数的思考

  • 【时间复杂度优化】关于动态倒计时减少计算次数的思考已关闭评论
  • 16 次浏览
  • A+
所属分类:Web前端
摘要

最近在做一个小程序,其中一个功能是计算拍卖品结束倒计时。传递给计算倒计时方法countdown()  的参数是一个从数据库获取的结束时间 endTime。

最近在做一个小程序,其中一个功能是计算拍卖品结束倒计时

传递给计算倒计时方法countdown()  的参数是一个从数据库获取的结束时间 endTime。

一开始我是这样写的

【时间复杂度优化】关于动态倒计时减少计算次数的思考

 

 

这样看着好像没啥问题,逻辑是正常的,BUT

该方法每隔一秒都会执行一次这里

【时间复杂度优化】关于动态倒计时减少计算次数的思考

 

 就会导致频繁调用获取系统时间,而我们只需要用户在第一次进入商品页的时候获取一次系统时间去计算倒计时。

而且totalSecond-- 在setTimeout()里面似乎是多余的,因为与这里的计算做一样的功能。

改进思路

只保留totalSecond--,每次减1即可 ,将总秒数放置到页面第一次执行的onLoad()方法了,只执行一次。

计算方法:

【时间复杂度优化】关于动态倒计时减少计算次数的思考

 

 onLoad()方法【时间复杂度优化】关于动态倒计时减少计算次数的思考