现象:
用canvas制作时钟,用不同的方式来调用setInterval,效果不同。(详细代码在后面)
用法一:
setInterval(drawClock,1000);
//下一秒的时候,之前的时分秒针会消失,出现新的时分秒针(我想要的效果)
function drawClock(){
drawFace();
drawNumbers();
drawTime();
//下一秒的时候,之前的时分秒针会消失,出现新的时分秒针(我想要的效果)
}

用法二:
drawClock();
//上一秒的时分秒针没有消失(不想要的效果)
function drawClock(){
drawFace();
drawNumbers();
setInterval(drawTime,1000);
//上一秒的时分秒针没有消失(不想要的效果
}

问题:
为什么用方法一可以清除掉上一秒的时分秒针?而方法二不可以?
Code Here:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问了其他网友:因为用方法一,会覆盖原来的;方法二没有覆盖。所以看上去是正确的。这个启发了我对canvas覆盖/clear的性能关注。