js动态设置多个setinterval并给定时器加Id
时间: 2023-07-19 20:39:33 浏览: 61
当需要动态设置多个setInterval并为每个定时器分配一个唯一的ID时,可以使用对象和闭包来实现。具体实现步骤如下:
1. 定义一个对象来存储所有的定时器,以ID为键,定时器句柄为值。
```javascript
let timers = {};
```
2. 定义一个函数来添加定时器,并返回该定时器的ID。
```javascript
function addTimer(interval, callback) {
let id = Math.random().toString(36).substr(2, 9); // 生成唯一ID
timers[id] = setInterval(callback, interval);
return id;
}
```
3. 定义一个函数来清除指定ID的定时器。
```javascript
function clearTimer(id) {
clearInterval(timers[id]);
delete timers[id];
}
```
4. 使用addTimer函数来添加定时器,并使用返回的ID来标识该定时器。
```javascript
let id1 = addTimer(1000, function() {
console.log('timer 1');
});
let id2 = addTimer(2000, function() {
console.log('timer 2');
});
```
5. 使用clearTimer函数来清除指定ID的定时器。
```javascript
clearTimer(id1);
```
这样就可以动态设置多个setInterval并为每个定时器分配一个唯一的ID了。