zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    线程的实现方式
    实现一个拷贝文件的工具类,要使用字符流还是字节流
    String&&StringBuilder&&StringBuffer
    面向对象的特征
    索引的选择
    TCP之Nagle算法&&延迟ACK
    通用套接字选项和TCP套接字选项
    TCP之非阻塞connect和accept
    TCP之种种连接异常
    TCP之listen&backlog
  • 原文地址:https://www.cnblogs.com/chuwanliu/p/11048033.html
Copyright © 2011-2022 走看看