JavaScript 任務 - clearTimeout 函數與 clearInterval 函數

clearTimeout 函數

1、基本介紹
  • clearTimeout 函數用于取消先前通過 setTimeout 函數設置的定時器
clearTimeout(【timeoutID】)
參數說明
timeoutID要取消的定時器的標識符,這個 ID 是由 setTimeout 函數返回的
2、演示
let timeoutId1 = setTimeout(() => {console.log("這段代碼不會執行");
}, 1000);let timeoutId2 = setTimeout(() => {console.log("這段代碼會執行");
}, 1000);clearTimeout(timeoutId1);
# 輸出結果這段代碼會執行
3、注意事項
  1. 如果定時器已經觸發,調用 clearTimeout 函數不會有任何效果
let timeoutId1 = setTimeout(() => {console.log("定時器 1 執行了");
}, 1000);let timeoutId2 = setTimeout(() => {console.log("取消定時器 1");clearTimeout(timeoutId1);
}, 2000);
# 輸出結果定時器 1 執行了
取消定時器 1
  1. 如果定時器已經取消,調用 clearTimeout 函數不會有任何效果
let timeoutId1 = setTimeout(() => {console.log("這段代碼不會執行");
}, 1000);let timeoutId2 = setTimeout(() => {console.log("這段代碼會執行");
}, 1000);clearTimeout(timeoutId1);
clearTimeout(timeoutId1);
# 輸出結果這段代碼會執行
  1. 傳入無效的 ID 不會報錯,也不會有任何效果
clearTimeout(null);
clearTimeout(undefined);
clearTimeout("");
clearTimeout(0);
clearTimeout(123);
clearTimeout(NaN);
clearTimeout(false);
  1. setTimeout 函數與 setInterval 函數共享同一個 ID 池,在技術上可以混用 clearTimeout 函數和 clearInterval 函數,但是,為了清楚起見,應該避免這樣做
let id = setInterval(() => {console.log("定時器執行了");
}, 1000);setTimeout(() => {console.log("取消定時器");clearTimeout(id);
}, 5000);
# 輸出結果定時器執行了
定時器執行了
定時器執行了
定時器執行了
定時器執行了
取消定時器

clearInterval 函數

1、基本介紹
  • clearInterval 函數用于取消先前通過 setInterval 函數設置的定時器
clearInterval(【intervalID】)
參數說明
intervalID要取消的定時器的標識符,這個 ID 是由 setInterval 函數返回的
2、演示
let counter = 0;let intervalId = setInterval(() => {counter++;console.log(`計數: ${counter}`);if (counter >= 5) {clearInterval(intervalId);console.log("定時器已停止");}
}, 1000);
# 輸出結果計數: 1
計數: 2
計數: 3
計數: 4
計數: 5
定時器已停止
3、注意事項
  1. 如果定時器已經取消,調用 clearInterval 函數不會有任何效果
let counter = 0;let intervalId = setInterval(() => {counter++;console.log(`計數: ${counter}`);
}, 1000);setTimeout(() => {console.log("取消定時器");clearInterval(intervalId);clearInterval(intervalId);
}, 5000);
# 輸出結果計數: 1
計數: 2
計數: 3
計數: 4
計數: 5
取消定時器
  1. 傳入無效的 ID 不會報錯,也不會有任何效果
clearInterval(null);
clearInterval(undefined);
clearInterval("");
clearInterval(0);
clearInterval(123);
clearInterval(NaN);
clearInterval(false);
  1. setTimeout 函數與 setInterval 函數共享同一個 ID 池,在技術上可以混用 clearTimeout 函數和 clearInterval 函數,但是,為了清楚起見,應該避免這樣做
let timeoutId1 = setTimeout(() => {console.log("這段代碼不會執行");
}, 1000);let timeoutId2 = setTimeout(() => {console.log("這段代碼會執行");
}, 1000);clearInterval(timeoutId1);
# 輸出結果這段代碼會執行

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93298.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93298.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93298.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在 CentOS 7 中使用 systemd 創建自定義服務

systemd 創建自定義服務簡述創建自定義服務步驟文件覆蓋優先級創建服務流程在 /etc/systemd/system/ 目錄下創建 .service 文件(需 root 權限):編寫服務配置模板Systemd 服務文件三大區塊詳解[Unit] 區塊 - 服務元數據與依賴[Service] 區塊 -…

【QT】printsupport庫遠程實現打印機打印

【QT】printsupport庫遠程實現打印機打印 前言 思路 實現 當前所有可用打印機瀏覽 打印預覽 打印輸出 手動選擇打印 自動打印 防呆補充 庫打包 前言 在打印機的通訊控制方式中,有USB、網口、串口、WIFI等,針對局域網環境下,用自研軟件控制打印機打印的應用場景,針對自研軟…

LT3045EDD#TRPBF ADI亞德諾 超低噪聲LDO穩壓器 電子元器件IC

LT3045EDD#TRPBF ADI 超低噪聲LDO穩壓器專業解析1. 產品技術檔案LT3045EDD#TRPBF是ADI(Analog Devices Inc.)推出的超低噪聲/超高PSRR線性穩壓器,采用DFN-12 (3x3mm)封裝,以其0.8μVRMS超低噪聲和79dB超高頻PSRR成為精密電源設計。…

易語言模擬真人鼠標軌跡算法 - 非貝塞爾曲線

一.簡介 鼠標軌跡算法是一種模擬人類鼠標操作的程序,它能夠模擬出自然而真實的鼠標移動路徑。 鼠標軌跡算法的底層實現采用C/C語言,原因在于C/C提供了高性能的執行能力和直接訪問操作系統底層資源的能力。 鼠標軌跡算法具有以下優勢: 模擬人…

Spring Boot 3 數據源連接信息存儲方法

在Spring Boot 3中,數據源連接信息的存儲方式主要有以下幾種,根據安全性和環境需求選擇合適的方式: 1. 配置文件(推薦基礎方式) 位置:src/main/resources/application.properties 或 application.yml 示例…

按鍵序列常用示例

按鍵序列常用示例 按鍵編碼 基礎按鍵對應編碼 A-Z 原字符即可 KeyCodeSHIFTCTRL^ALT% 其他按鍵 KeyCodeBACKSPACE{BACKSPACE}, {BS}, or {BKSP}BREAK{BREAK}CAPS LOCK{CAPSLOCK}DEL or DELETE{DELETE} or {DEL}DOWN ARROW{DOWN}END{END}ENTER{ENTER} or ~ESC{ESC}HELP{HEL…

【LeetCode Solutions】LeetCode 熱題 100 題解(36 ~ 40)

CONTENTS二叉樹 - LeetCode 94. 二叉樹的中序遍歷(簡單)二叉樹 - LeetCode 104. 二叉樹的最大深度(簡單)二叉樹 - LeetCode 226. 翻轉二叉樹(簡單)二叉樹 - LeetCode 101. 對稱二叉樹(簡單&…

數據處理分析環境搭建+Numpy使用教程

環境搭建 數據分析常用開源庫 Numpy NumPy(Numerical Python) 是 Python 語言的一個擴展程序庫。是一個運行速度非常快的數學庫,主要用于數組計算包含: 一個強大的N維數組對象 ndarray廣播功能函數整合 C/C/Fortran 代碼的工具線性代數、傅里葉變換、隨機…

實戰多屏Wallpaper壁紙顯示及出現黑屏問題bug分析-學員作業

背景: 在大家看了上一篇google官方對于多屏壁紙這塊的介紹后 安卓Wallpaper壁紙部分對多屏的支持-Google官方文檔介紹 可能還是對于壁紙支持多屏這塊沒有相關的實戰性的認知,所以本文就開始帶大家來進行部分解讀和實戰。 壁紙多屏顯示原理文檔解讀&a…

Vue插槽---slot詳解

1、什么是 Vue 插槽?Vue 插槽(Slot)?? 是 Vue 提供的一種非常強大且靈活的機制,用于實現:父組件向子組件傳遞一段模板內容(HTML / 組件等),讓子組件在指定位置動態渲染這些內容。可…

STM32 - Embedded IDE - GCC - 顯著減少固件的體積

導言如上圖所示,在編譯器附加選項(全局)里添加--specsnano.specs,告訴編譯器使用newlib-nano替代newlib去編譯代碼。 newlib vs. newlib-nano newlib 是 GNU ARM 工具鏈默認的 C 標準庫,功能完整,但體積較大…

python的美食交流社區系統

前端開發框架:vue.js 數據庫 mysql 版本不限 后端語言框架支持: 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 數據庫工具:Navicat/SQLyog等都可以 摘要&…

《Redis持久化機制對比與RDB/AOF調優方案》

📚 Redis持久化機制對比與RDB/AOF調優方案 🧠前言 在生產環境中,Redis 常常被用作緩存,但在更多場景下,它還存儲著核心業務數據(如會話、訂單、隊列任務等)。一旦 Redis 宕機、數據丟失&#…

eXtremeDB 醫療設備開發實戰:從合規到實時,構建 EN62304 級數據管理系統

在醫療設備開發領域,數據管理的 “可靠性” 與 “合規性” 是不可逾越的紅線 —— 監護儀心率數據的丟失可能延誤診斷時機,胰島素泵劑量記錄的錯誤則直接威脅患者生命安全。eXtremeDB 憑借對 EN62304 標準的深度合規支持、硬實時數據處理能力及多層次安全…

linux 設備驅動的分層思想

一、 概述像這樣的分層設計在linux的input、RTC、MTD、I2c、SPI、tty、USB等諸多類型設備驅動中屢見不鮮,下面對這些驅動進行詳細的分析。二、 輸入設備驅動輸入設備(如按鍵、鍵盤、觸摸屏、鼠標等)是典型的字符設備,其一般的工…

【嵌入式硬件實例】-555定時器驅動直流無刷電機

555定時器驅動直流無刷電機 文章目錄 555定時器驅動直流無刷電機 1、555定時器介紹 2、BLDC,無刷直流電機 3、DRV10866 驅動器 4、硬件準備與接線 5、電路工作原理 在這個項目中,我們將使用 555 定時器 IC 和 DRV10866 驅動器 IC 制作 BLDC、無刷直流電機驅動電路。無刷電機可…

Helm 常用命令 + Bitnami 中間件部署速查表

文章目錄一、Helm 常用命令速查表1.1. 倉庫管理1.2. Chart 搜索1.3. 應用部署1.4. 應用管理二、Bitnami 常用中間件部署示例三、常用自定義參數(values.yaml 配置項)四、安裝后的訪問方式五、一鍵安裝腳本 install-middleware.sh5.1. 完整腳本5.2. 使用方…

Ansible 自動化運維實戰系列(六):Valut詳解

Ansible 自動化運維實戰系列(六):Valut詳解📚 系列導航一:概述二:命令1)創建加密文件2)加密已有文件3)查看加密文件4)編輯加密文件5)解密文件6&am…

《探秘瀏覽器Web Bluetooth API設備發現流程》

網頁若需與藍牙設備通信,往往需依賴本地客戶端或專用驅動程序作為中介,不僅增加了用戶操作成本,也限制了Web應用在跨設備場景中的拓展。而Web Bluetooth API的出現,直接賦予了網頁與低功耗藍牙(BLE)設備對話的能力,從智能手環的健康數據同步,到智能家居設備的遠程控制,…

Jenkins+Python自動化持續集成詳細教程

Python接口自動化測試零基礎入門到精通(2025最新版)Jenkins安裝 ? Jenkins是一個開源的軟件項目,是基于java開發的一種持續集成工具,用于監控持續重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續…