js定时器生成与取消及随机数生成原理

一、定时器(setTimeout)

1、组成:逻辑函数、时间间隔、函数所需的参数(可以省略),定时器设置了不会立马执行逻辑,第一次调用等待时间为设置的时间间隔

2、一次定时器

<script>
    setTimeout(function (arg1,arg2) {
        console.log(arg1,arg2)
    },1000,'参数1','参数2')
</script>

3、持续性定时器(setInterval)

function action(arg1){
  console.log(arg1)
  console.log('一秒执行一次')
}
var time1=setInterval(action,1000,'参数1')

4、清除定时器(明确清除目标)

1)clearTimeout(通用) |clearInterval(通用)
document.onclick=function (){
  //清除第一个创建的定时器
  clearTimeout(1)
  //清除第二个创建的定时器
  clearInterval(2)
  //清除名称为time1的定时器
  clearInterval(time1)
}

二、定时器案例

<style>
    .box{
         100px;
        height: 40px;
        background: red;
        color: white;
    }
</style>
<div class="box"></div>
<script>
    var box=document.querySelector('.box');
    setInterval(times,1000)
    function times() {
        var date=new Date()
        var h=date.getHours();
        var m=date.getMinutes();
        var s=date.getSeconds();
        var res=h+":"+m+":"+s;
      //三元表达式,成立选h,不成立取?后结果
        h=h<10?h:"0"+h;
        m=m<10?m:"0"+m;
        s=s<10?s:"0"+s;
        box.innerText=res
    }
</script>

三、随机数

1、取[0,1)之间的数

var randomNum=Math.random()
//取[0,1)之间的随机数
console.log(randomNum)

2、取[0,10]之间的整数

var randomNum=Math.random()
//取[0,10]之间的整数,因为randomNum取不到10,所以乘以11
var randomIntNum=parseInt(randomNum*11)
console.log(randomIntNum)

3、取[n,m]之间的整数

var randomNum=Math.random()
//取[n,m]之间的整数
var randomIntNum=parseInt(randomNum*(m-n+1))+n
原文地址:https://www.cnblogs.com/chuwanliu/p/11048033.html