zoukankan      html  css  js  c++  java
  • setTimeout和setInterval的区别

    setTimeout()定义和用法

    关于setTimeout方法的介绍

    定义

    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

    语法

    setTimeout(code,millisec)
    参数
    code:必需。要调用的函数后要执行的 JavaScript 代码串。
    millisec: 必需。在执行代码前需等待的毫秒数。

    提示

    setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()

    function test(){
    alert("test");
    }
    //使用方法名字执行方法
    var t1 = window.setTimeout(test,1000);
    var t2 = window.setTimeout("test()",3000);//使用字符串执行方法
    window.clearTimeout(t1);//清除定时器

    setInterval()定义和用法

    //实时刷新时间单位为毫秒
    setInterval('refreshQuery()',8000); 
    /* 刷新查询 */
    function refreshQuery(){
       $("#mainTable").datagrid('reload',null);
    }

    业务场景

    • setTimeout用于延迟执行某方法或功能
    • setInterval则一般用于刷新表单,对于一些表单的假实时指定时间刷新同步

    settimeout传参数的几种方法,直接函数句柄调用传参会导致settimeout失效:

    1)字符串调用传参

    function test(name) {
        alert('hello' + ' ' + name);
    }
    let param = 'Jack';
    setTimeout('test(param)',1000);

    2)将函数调用放在一个匿名函数里直接传参

    function test(name) {
        alert('hello' + ' ' + name);
    }
    let testName='assistant'
    setTimeout(function () {
        test(testName);
    }, 1000); //可以获取到外层参数

    3)匿名函数或函数句柄调用可以通过settimeout传参

    setTimeout(
      function(value1,value2){
        console.log(value1+"+"+value2);
        console.log(value1+value2)},2000, 1,2)
  • 相关阅读:
    Mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'
    linux基本命令(4) 查看文件相关
    linux基本命令(3) 文件操作相关
    php 验证码不显示
    linux基本命令(2) 修改文件所属人以及权限
    linux 修改开机欢迎文字
    Mysql 自定义HASH索引带来的巨大性能提升
    Maven依赖范围<scope>
    深入理解Java G1垃圾收集器
    Redis EXISTS命令耗时过长case排查
  • 原文地址:https://www.cnblogs.com/makai/p/13341156.html
Copyright © 2011-2022 走看看