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)
  • 相关阅读:
    学习python -- 第018天 os模块
    学习python -- 第017天 文件读写
    重看算法 -- 动态规划 最大子段和问题
    重看算法 -- 递归与分治
    学习python -- 第016天 模块
    学习python -- 第016天 浅拷贝和深拷贝
    网络字节序、主机字节序(摘抄)
    C++/C常量
    结构化程序设计
    循环(高质量4.10)
  • 原文地址:https://www.cnblogs.com/makai/p/13341156.html
Copyright © 2011-2022 走看看