为什么 if(now-end )不是写成 if(now-end>0)?
来源:4-2 创建倒计时模块

西岚Silan
2018-04-14
class Timer { /** * * * @param {any} end 截至时间 * @param {any} update 时间更新的回掉 * @param {any} handle 倒计时结束后的回掉 * @memberof Timer */ countdown(end, update, handle) { const now = new Date().getTime(); const self = this; if (now - end) { //如果当前时间大于截至时间 handle.call(self); } else { let last_time = end - now; //倒计时所剩余时间 const px_d = 1000 * 60 * 60 * 24; const px_h = 1000 * 60 * 60; const px_m = 1000 * 60; const px_s = 1000; let d = Math.floor(last_time / px_d); //剩余多少天 let h = Math.floor((last_time - d * px_d) / px_h); let m = Math.floor((last_time - d * px_d - h * px_h) / px_m); let s = Math.floor((last_time - d * px_d - h * px_h - m * px_m) / px_s); let r = []; if (d > 0) { r.push(`<em>${d}</em>天`); } if (r.length || (h > 0)) { r.push(`<em>${h}</em>时`) } if (r.length || (m > 0)) { r.push(`<em>${m}</em>分`) } if (r.length || (s > 0)) { r.push(`<em>${s}</em>秒`) } self.last_time = r.join(""); update.call(self, r.join("")); setTimeout(() => { self.countdown(end, update, handle); }, 1000); } } }
我不太明白这个。。。不是一般都要判断他们的差是否大于0吗,如果不做大于0的判断的话,他们的差是负数,不是也是为true吗
写回答
1回答
-
快乐动起来呀
2018-04-15
应该是后者
00
相似问题