首页 >科技 > 内容

🌟js-递归,setTimeout回调函数的参数🤔

科技 2025-04-08 16:39:20
导读 在前端开发中,`setTimeout` 是一个非常常用的工具,它允许我们延迟执行一段代码。但你是否注意到它的回调函数其实可以接受参数呢?👀比如...

在前端开发中,`setTimeout` 是一个非常常用的工具,它允许我们延迟执行一段代码。但你是否注意到它的回调函数其实可以接受参数呢?👀

比如:

```javascript

function sayHello(name) {

console.log(`Hello, ${name}!`);

}

setTimeout(sayHello, 1000, "Alice"); // 一秒后输出 "Hello, Alice!"

```

那么问题来了,如果想用递归来实现类似的功能怎么办? recursive magic ✨

比如每隔一秒打印一次数字从1到5:

```javascript

function countDown(n) {

console.log(n);

if (n > 1) {

setTimeout(() => countDown(n - 1), 1000);

}

}

countDown(5);

```

这种方法虽然简单,但需要注意的是,递归深度过大可能导致堆栈溢出哦!🔥 所以小提示:可以考虑循环替代递归,或者使用 `setInterval` 结合手动清除计时器来优化逻辑。

掌握这些小技巧,可以让我们的代码更优雅、更高效!💪

免责声明:本文由用户上传,如有侵权请联系删除!