js延時執行程序,js延時執行程序是什麼

本文目錄一覽:

JS中如何解決for循環中的延遲執行問題

我們先來看一個例子

在JS方法裡面設置一個for循環,輸出每次循環的值,如下圖

我們可以根據閉包的知識來更改一下for循環中的邏輯,利用閉包將i的值傳遞給a

這次在運行程序我們就可以看到輸出內容是0開始輸出了

結果如下圖

JS中如果for循環中有非同步方法,就需要用閉包的方式保留當前循環變數值

js延時5秒用find寫法

js延時5秒用find寫法setTimeout(function(){ getSignature() },5000);

在前端開發過程中,如果使用傳統的純js,有時會有延時執行一個方法的需求.

使用js實現幾秒以後倒計時跳轉,這個在某些特殊情況下還是比較實用的。

如何用javascript設置延時執行

二、JavaScript 的計時事件的函數

setTimeout() – 在指定時間後執行代碼

clearTimeout() – 取消 setTimeout()注意:setTimeout() 和 clearTimeout() 都是HTML DOM 的 Window 對象的函數。

三、setTimeout詳解

var t=setTimeout(“javascript 語句”,時間參數)

註:時間參數單位為毫秒

示例:var t=setTimeout(“alert(‘3 seconds!’)”,3000)

如果js語句帶變數,則必須用+號將變數連接起來,如:

var t=setTimeout(”document.getElementById(“+menuid+”).style.display=’none'”,3000)

四、clearTimeout詳解

語法:clearTimeout(setTimeout的變數名)

示例:clearTimeout(t) //其中t為前面設置的setTimeout的變數

使用clearTimeout可以隨時停止計時。

五、應用技巧

建議將setTimeout單獨設置為一個函數。如:

function delayRun(code,time) {

var t=setTimeout(code,time);}這樣,在需要讓某段代碼延時執行的時候,只需在這段代碼前加入這個函數就可以了。如:

onmouseover=delayRun(“setTab(0,0)”,500)

其中setTab是一個自定義的函數。如果以後不想讓setTab延時執行,則去掉語句中的delayRun相關的代碼即可,改為:onmouseover=setTab(0,0) 就可以了。

這種寫法避免每一個需要延時的地方都寫一段setTimeout的代碼,只需要直接調用就可以了,很方便。也節省了代碼的量。

實現javascript的延期執行或者重複執行的兩個函數

以下內容摘錄自《征服AJAX Web2.0開發技術詳解》,今天在圖書管看書覺得講的挺好的,特此摘錄!小部分內容和代碼做了改動!

window對象提供了兩個方法來實現定時器的效果,分別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間後運行;而後者則可以使一段代碼每過指定時間就運行一次。它們的原型如下:

複製代碼

代碼如下:

window.setTimeout(expression,milliseconds);

window.setInterval(expression,milliseconds);

其中,expression可以是用引號括起來的一段代碼,也可以是一個函數名,到了指定的時間,系統便會自動調用該函數,當使用函數名作為調用句柄時,不能帶有任何參數;而使用字元串時,則可以在其中寫入要傳遞的參數。兩個方法的第二個參數是milliseconds,表示延時或者重複執行的毫秒數。下面分別介紹兩種方法。

1.window.setTimeout方法 該方法可以延時執行一個函數,例如:

一秒後會彈出”hello”

[Ctrl+A

全選

注:如需引入外部Js需刷新才能執行]

這段代碼將使得頁面打開5秒鐘後顯示對話框「hello」。其中最後一句也可以寫為:

window.setTimeout(“hello()”,1000);

讀者可以體會它們的差別,在window.setInterval方法中也有這樣的性質。

如果在延時期限到達之前取消延執行,可以使用window.clearTimeout(timeoutId)方法,該方法接收一個id,表示一個定時器。這個id是由setTimeout方法返回的,例如:

[Ctrl+A

全選

注:如需引入外部Js需刷新才能執行]

這樣,如果要取消顯示,只需單擊頁面任何一部分,就執行了window.clearTimeout方法,使得超時操作被取消。

2.window.setInterval方法

該方法使得一個函數每隔固定時間被調用一次,是一個很常用的方法。如果想要取消定時執行,和clearTimeout方法類似,可以調用window.clearInterval方法。clearInterval方法同樣接收一個setInterval方法返回的值作為參數。例如:

複製代碼

代碼如下:

//定義一個反覆執行的調用

var id=window.setInterval(“somefunction”,10000);

//取消定時執行

window.clearInterval(id);

上面的代碼僅用於說明怎樣取消一個定時執行。實際上在很多場合都需要用到setInterval方法,下面將設計一個秒錶,來介紹setInterval函數的用途:該秒錶將包括兩個按鈕和一個用於顯示時間的文本框。當單擊開始按鈕時開始計時,最小單位為0.01秒,此時再次單擊按鈕則停止計時,文本框顯示經過的時間。另外一個按鈕用於將當前時間清零。其實現代碼如下:

New

Document

[Ctrl+A

全選

注:如需引入外部Js需刷新才能執行]

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/307375.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 18:06
下一篇 2025-01-02 18:06

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟體。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨著深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟體開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29

發表回復

登錄後才能評論