• 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)
  • 相关阅读:
    Directx11教程(63) tessellation学习(5)
    OpenCL 学习step by step (1) 安装AMD OpenCL APP
    Directx11教程(62) tessellation学习(4)
    Directx11教程(61) tessellation学习(3)
    Notes 和 Domino 已知限制
    asp.net中的WebApplication和WebSite
    平淡的2007
    TinyMCE与Domino集成
    jOOQ 2.6.0 发布,Java的ORM框架
    bandwidth 0.32f 发布,内存带宽测试工具
  • 原文地址:https://www.cnblogs.com/makai/p/13341156.html
Copyright © 2020-2023  润新知