如何使用 JavaScript 延遲 JavaScript 函式呼叫?
在本教程中,我們將學習如何在 JavaScript 中延遲函式。當我們希望在指定時間後呼叫函式時,我們將在 JavaScript 中使用延遲函式。
為了在 JavaScript 函式中提供延遲,我們使用一個名為 setTimeout() 的全域性視窗物件。此函式允許我們在執行函式之前提供特定的延遲。
讓我們深入瞭解 setTimeout() 函式的一些功能、語法和許多其他內容。setTimeout() 方法主要需要兩個引數,一個是我們需要延遲執行的函式,另一個引數是我們要延遲函式的時間。
語法
在 JavaScript 中延遲函式的語法如下所示:
When function declared inside the setTimeout() method:
setTimeout ( function(){function_body}, time in milliseconds);
or
When function declared outside setTimeout() method:
function function_name();
setTimeout(function_name, time i
n milliseconds);
由於在 setTimeout() 方法中宣告的函式是匿名的,因此我們也可以刪除 function 關鍵字並將其替換為箭頭函式,如下所示:
setTimeout(()=>{function_body}, time in milliseconds);
讓我們看看 setTimeout() 函式的一些示例:
示例 1:在 setTimeout() 方法內部定義函式
延遲在 setTimeout() 函式內部宣告的函式的步驟:
宣告一個 setTimeout() 函式。
在其中定義一個帶有函式體的箭頭函式。
宣告另一個引數為 3000,它在執行後呼叫函式時提供了 3 秒的延遲。
我們可以使用以下程式碼來執行上述任務:
<!DOCTYPE html>
<html>
<body>
<h2>Tutorials Point</h2>
<p> Delaying a function in JavaScript </p>
<p> Wait for 3 seconds to get response </p>
<p id="result"></p>
<script>
setTimeout(()=> {
document.getElementById("result").innerHTML = "Hello, I am here";
}
,3000);
</script>
</body>
</html>
示例 2:在 setTimeout() 方法外部定義函式
延遲在 setTimeout() 函式外部宣告並在其內部呼叫的函式的步驟:
定義一個名為 message 的函式,並在其中編寫其函式體。
宣告一個 setTimeout() 函式
在其中呼叫 message 函式。
宣告另一個引數為 3000,它在執行後呼叫函式時提供了 3 秒的延遲。
我們可以使用以下程式碼來執行上述任務:
<!DOCTYPE html>
<html>
<body>
<h2>Tutorials Point</h2>
<p> Delaying a function in JavaScript </p>
<p> Wait for 3 seconds to get response </p>
<p id="result"></p>
<script>
function message() {
document.getElementById("result").innerHTML = "Hello, I am here";
}
setTimeout(message,3000);
</script>
</body>
</html>
示例 3:在 setTimeout() 方法外部定義帶有某些引數的函式
延遲在 setTimeout() 函式外部宣告並在其內部呼叫的帶有引數的函式的步驟:
定義一個名為 message 的函式,帶有 2 個引數及其函式體。
宣告一個 setTimeout() 函式。
在其中呼叫 message 函式作為第一個引數。
宣告另一個引數為 3000,它在執行後呼叫函式時提供了 3 秒的延遲。
在兩個引數之後,我們必須宣告另外兩個引數,它們是提供給 message 函式中宣告的引數的值。
我們可以使用以下 HTML 程式碼來執行上述任務:
<!DOCTYPE html>
<html>
<body>
<h2>Tutorials Point</h2>
<p> Delaying a function in JavaScript </p>
<p> Wait for 3 seconds to get response </p>
<p id="result"></p>
<script>
function message(a,b) {
let sum=a+b;
document.getElementById("result").innerHTML = "The sum of the two values is "+ sum;
}
setTimeout(message,3000,6,8);
</script>
</body>
</html>
從上面的示例中,我們瞭解到 setTimeout() 將兩個值作為引數,如果應用延遲的函式不包含任何引數,否則 setTimeout() 將接受兩個以上引數。我們可以根據需要使用此延遲方法,例如,如果我們想在幾秒鐘後顯示警報,或者我們可以設定一個計時器,然後我們可以使用此方法執行它。
注意− 我們還可以透過呼叫 clearTimeout() 函式並在其中提供超時 ID 來取消延遲。超時 ID 是我們從 setTimeout() 函式獲得的返回值。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP