js定时器中的间隔时间能否设置为随机数

setTimeout(() => {
    
}, timeout);

timeout能不能设置为随机数,达到每个执行周期不一样的效果?
如果不能,有没有其他方法达到此效果?

把setTimeout封装在函数内部,在setTimeout里面生成随机数之后再调用函数本身,把生成的随机数传进去
function setTimer(n){
setTimeout(() => {
const timestep = Math.random()*1000;
setTimer(timestep);
},n)
}
setTimer(500);

记得加判断条件,不然会一直执行

可以写一个生成随机数的方法,调用就可以。

启动多个setInterval

可以啊,每次计时器执行时把旧的清除了重新绑定

写个随机数方法,return一个数就行大概如下:
setTimeout(() => {

}, random(1000));

funxtion random(val){
return Math.round(Math.random()*val);
}

写一个函数,时间到了调用自己吧,随机时间大点比较好,这样?
function a(){
setTimeout(() => {
console.log(123)
a()
}, Math.random() * 1000)
}