js超时调用setTimeout和间歇调用setInterval实例分析

JS超时调用setTimeout和间歇调用setInterval实例分析

setTimeout函数

setTimeout函数是JS中的一个高级函数,可以实现代码的延时执行。

语法:

setTimeout(function, delay, param1, param2, ...)
  • function:必选参数,是需要延时执行的函数或一个字符串经过编译生成的JS代码
  • delay:必选参数,是延时时间,单位是毫秒
  • param1,param2...:可选参数,是指向要传递给函数的参数,最多可以传递个数个函数的参数,参数可以是任何类型

使用示例:

// 延时1秒后,弹出“hello world”
setTimeout(function(){
    alert("hello world");
}, 1000);

setInterval函数

setInterval函数是JS中的一个高级函数,可以实现代码的循环定时执行。

语法:

setInterval(function, delay, param1, param2, ...)
  • function:必选参数,是需要循环定时执行的函数或一个字符串经过编译生成的JS代码
  • delay:必选参数,是定时执行的时间间隔,单位是毫秒
  • param1,param2...:可选参数,是指向要传递给函数的参数,最多可以传递个数个函数的参数,参数可以是任何类型

使用示例:

// 每隔1秒弹出“hello world”
setInterval(function(){
    alert("hello world");
}, 1000);

setTimeout与setInterval的差异

setTimeout和setInterval两个函数虽然都可以实现延时执行JS代码,但是它们在实现方式上有差别。

  • setTimeout函数只执行一次,执行完毕后结束;
  • setInterval函数则可以在指定的时间间隔内无限循环执行。

注意事项

使用setTimeout或setInterval函数时,需要注意以下点:

  1. 如果设置的时间间隔(delay)小于4毫秒,那么函数可能会被延迟执行或者忽略执行;
  2. 如果设置了系统休眠模式,则setTimeout和setInterval函数可能会被暂停执行,直到系统重新被唤醒;
  3. 当页面不处于激活状态(例如被最小化、后台运行等),setInterval函数会被暂停执行。

示例说明

示例一:倒计时

function countDown(){
    var countdownDom = document.getElementById('countdown');
    var time = parseInt(countdownDom.innerHTML);
    time -= 1;
    if(time <= 0){
        clearTimeout(timerId);
        countdownDom.innerHTML = "倒计时结束";
    }else {
        countdownDom.innerHTML = time;
    }
}

// 倒计时开始
var timerId = setInterval(countDown, 1000);

上述代码实现了一个简单的倒计时效果,每隔1秒钟更新一次倒计时数字,当倒计时结束后,停止执行,显示倒计时结束。

示例二:动画效果

var square = document.getElementById('square');
var step = 1;
function animation(){
    if(step < 100){
        square.style.left = (step++) + "px";
        setTimeout(animation, 10);
    }
}

// 动画效果开始
animation();

上述代码实现了一个简单的动画效果,将一个div元素从左向右移动,每10毫秒移动一个像素,当移动到100像素后,停止执行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js超时调用setTimeout和间歇调用setInterval实例分析 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • js实现简单日历效果

    实现一个简单日历效果的方式有很多种,我这里介绍一种使用原生JavaScript实现的方法。 步骤一:HTML结构 首先,在HTML中创建一个包含日历的div,结构如下: <div id="calendar"> <div class="header"> <span class="l…

    JavaScript 2023年5月27日
    00
  • JavaScript函数式编程Thunk原理解析

    JavaScript函数式编程Thunk原理解析 本文将详细讲解什么是 JavaScript 函数式编程中的 Thunk,它的原理是什么,以及如何使用 Thunk 来实现异步编程。 什么是 Thunk Thunk 是一种 JavaScript 函数编程的技术。它是一个惰性求值的函数,即只有在需要的时候才会执行。Thunk 函数接受参数,并返回一个不执行任何操…

    JavaScript 2023年5月27日
    00
  • JavaScript 实现模态对话框 源代码大全

    让我给你详细讲解一下“JavaScript 实现模态对话框 源代码大全”的完整攻略。 什么是模态对话框? 模态对话框是一种常用的弹窗提示框,它可以在网页中弹出提示框,并阻止用户对页面的其他操作,直到确定或取消该对话框。 实现模态对话框的方法 实现模态对话框需要使用JavaScript编写脚本。一般来说,实现模态对话框的方法有两种: 方法一:使用CSS实现 我…

    JavaScript 2023年6月11日
    00
  • JavaScript模板字符串用法实例

    JavaScript模板字符串用法实例 JavaScript模板字符串是一种能够很好地简化字符串拼接的技术,它支持在字符串中嵌入表达式和变量,并可以轻松地将多行代码合并为单个字符串。本文将介绍JavaScript模板字符串的用法,并提供一些示例说明。 创建模板字符串 在JavaScript中,创建模板字符串的方法是使用反引号 (\)将字符串括起来。下面是一个…

    JavaScript 2023年5月28日
    00
  • javascript实现dom元素可拖动

    要实现DOM元素可拖动,需要以下步骤: 给目标元素添加mousedown事件监听器,当鼠标按下时触发事件,并将鼠标在元素上的位置信息存储起来。 给document对象添加mousemove事件监听器,当鼠标移动时触发事件,并计算出移动的距离。 在mousemove事件中,根据鼠标移动的距离,重新设置目标元素的位置。 当鼠标松开时,移除事件监听器。 以下是实现…

    JavaScript 2023年6月10日
    00
  • js遍历json的key和value的实例

    首先我们需要明确一点,JavaScript中的JSON是一种轻量级的数据交换格式。它包含了一些键值对,值可以是数组、对象、数字、字符串、布尔值或null。如果我们需要在JavaScript中操作JSON数据,我们可以使用JSON对象提供的方法。下面我将介绍如何使用JavaScript遍历JSON的key和value。 步骤1:获取JSON数据 首先,我们需要…

    JavaScript 2023年5月27日
    00
  • js split 的用法和定义 js split分割字符串成数组的实例代码

    下面是关于JS的split函数的详细讲解: 定义 split是JavaScript中的字符串方法,可以将一个字符串分割成一个字符串数组。分割的标准可以是一个固定字符串,也可以是一个正则表达式。返回的字符串数组包含原始字符串中分割出的子字符串。 用法 split方法的语法格式如下: str.split(separator,limit) 参数说明: separa…

    JavaScript 2023年5月28日
    00
  • JsonProperty 的使用方法详解

    JsonProperty 是一个用于在 C# 中将属性或字段映射到 JSON 属性的属性。在 JSON 序列化和反序列化期间,属性和字段将映射到 JSON 对象的属性和字段。本攻略将提供JsonProperty的使用方法详解。 1. 引用 Newtonsoft.Json 库 JsonProperty 属性在 Newtonsoft.Json 库中,因此首先要确…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部