为了账号安全,请及时绑定邮箱和手机立即绑定

如下,我想用随机数的方法,生成一个随机数,然后添加到setInterval()中:

如下,我想用随机数的方法,生成一个随机数,然后添加到setInterval()中:

动漫人物 2022-11-20 17:13:48

是这样的,我要每隔一段时间调用一个函数(时间不确定 )
<script>
var i;
function ra(){
return Math.ceil(Math.random()*30+40);
}
i=setInterval(function(){
alert(ra());
},ra());
</script>
但是发现执行起来根本没有延时,请问大虾,这段代码为什么为出现不延时的情况,想要实现这个效果,该怎么做呢?
感激不尽

查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1715条经验 获得超2个赞

setInterval()是一个周期函数,没有调用clearInterval()继续调用,无限创建线程可能会卡死。
改成
<script>
var i;
var j=1000;
function ra(){
j=Math.ceil(Math.random()*30+40);
return j;
}
function showTest(){
alert(ra());
i=setTimeout(showTest,j);
}
</script>

我还没运行,你试试。调用showTest()

查看完整回答
反对 回复 2022-11-24
?
泛舟湖上清波郎朗

TA贡献1532条经验 获得超3个赞

我没运行你的代码,
你把alert()换成其他的方法试试,alert是中断,会影响执行,你换个试试。

查看完整回答
反对 回复 2022-11-24
  • 2 回答
  • 0 关注
  • 10 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信