js计时器代码
在JavaScript中,你可以使用setTimeout和setInterval函数来创建计时器。
使用 setTimeout 单次执行代码:
javascript// 在 1000 毫秒后执行一次
setTimeout(function() {
console.log("计时器已触发!");
}, 1000);
使用 setInterval 定期执行代码:
javascript// 每隔 1000 毫秒执行一次
var intervalId = setInterval(function() {
console.log("定期执行的代码!");
}, 1000);
// 若要停止计时器,使用 clearInterval
// clearInterval(intervalId);
倒计时示例:
javascriptvar seconds = 10;
function countdown() {
if (seconds > 0) {
console.log(seconds + " 秒剩余");
seconds--;
} else {
console.log("倒计时结束!");
clearInterval(intervalId);
}
}
var intervalId = setInterval(countdown, 1000);
动画效果示例:
在Web开发中,你可以使用requestAnimationFrame来创建平滑的动画效果。
javascriptfunction animate() {
// 执行动画逻辑,例如移动元素、改变样式等
requestAnimationFrame(animate); // 递归调用自身,以实现平滑动画效果
}
// 启动动画
animate();
使用requestAnimationFrame可以确保在浏览器进行下一次重绘之前执行动画逻辑,以提供更平滑的动画效果。
使用 Promise 和 async/await 实现延迟:
有时候,你可能需要等待一段时间后执行某些代码。你可以使用Promise和async/await来实现延迟执行的效果。
javascriptfunction delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function delayedFunction() {
console.log("开始执行");
await delay(2000); // 等待2秒
console.log("2秒后执行");
}
delayedFunction();
这个例子中,delay函数返回一个Promise,通过在delayedFunction中使用await关键字,可以使得程序等待指定的时间后再执行下一步。