_.delay()函數:
- 等待指定的毫秒數後,它將在其參數中執行提到的函數。
- 它通常在我們要執行某些任務但要經過一定時間後使用。在這種情況下,我們可以定義此函數,然後將在等待毫秒後執行。
- 如果我們也將參數傳遞給此函數(可以選擇傳遞),則這些參數將充當傳遞給_.delay()函數的函數的參數。
用法:
_.delay(function, wait, *arguments)
參數:它包含三個參數:
- 要執行的函數。
- wait:需要執行該函數的時間(以毫秒為單位)
- 傳遞給_.delay()函數的函數的自變量(可選)
返回值:它返回傳遞的函數的值,等待毫秒後執行。
例子:
- 將函數直接傳遞給_.delay()函數:_.delay()函數使用的等待參數為1000ms,然後等待1000ms,然後執行傳遞的函數(此處為console.log())並打印傳遞給它的字符串,即編碼很有趣。因此,在1000毫秒後將顯示字符串“coding is fun”。
<html> <head> <!-- These lines are for Mozilla Firefox developer edition to stop the web packs--> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <!-- You may ignore these when using in another browser --> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> _.delay(console.log, 1000, 'coding is fun!'); </script> </body> </html>
輸出:
- 將_.bind()函數與_.delay()函數一起使用:
_.bind()函數用於將對象傳遞給該函數。像這裏的console.log()函數有一個對象控製台。此“ func()”意味著將傳遞給此函數的所有內容都將顯示在控製台上。 _.bind()函數中未提及等待時間。然後,在_.delay()函數中,我們需要等待2000毫秒,此後,字符串“hello”將顯示在控製台上。<html> <head> <!-- These lines are for Mozilla Firefox developer edition to stop the web packs--> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <!-- You may ignore these when using in another browser --> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> </head> <body> <script type="text/javascript"> var func = _.bind(console.log, console); _.delay(func, 2000, 'hello'); </script> </body> </html>
輸出:
- 向傳遞給_.delay()函數的函數傳遞多個參數:
_.delay()函數傳遞了一個“ func()”,其中包含與先前示例相同的_.bind()函數。然後經過了3000毫秒的等待時間,這意味著將在3000毫秒後顯示輸出。傳遞了另外3個參數,這些參數將被視為傳遞的“ func()”函數的參數。因此,最終輸出將在3000毫秒後顯示,並將是所有3個字符串的組合,即“ hello!”。你好嗎?”。<html> <head> <!-- These lines are for Mozilla Firefox developer edition to stop the web packs--> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <!-- You may ignore these when using in another browser --> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> </head> <body> <script type="text/javascript"> var func = _.bind(console.log, console); _.delay(func, 3000, 'hello!', 'how are', 'you?'); </script> </body> </html>
輸出:
- 將數字作為參數傳遞給_.delay()函數:
我們甚至可以將數字作為參數傳遞給函數。在這裏,我們將“ 12345”作為參數傳遞給“ func()”函數。聲明了“ func()”函數,與之前的示例一樣。此函數的輸出將是“12345”,它將在5000毫秒後顯示。<html> <head> <!-- These lines are for Mozilla Firefox developer edition to stop the web packs--> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <!-- You may ignore these when using in another browser --> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> </head> <body> <script type="text/javascript"> var func = _.bind(console.log, console); _.delay(func, 5000, '12345'); </script> </body> </html>
輸出:
注意:這些命令在Google控製台或firefox中將無法使用,因為需要添加這些尚未添加的其他文件。
因此,將給定的鏈接添加到您的HTML文件,然後運行它們。
鏈接如下:
<!-- Write HTML code here -->
<script type="text/javascript" src =
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
相關用法
- JQuery delay()用法及代碼示例
- JQuery on()用法及代碼示例
- underscore.js every()用法及代碼示例
- underscore.js map()用法及代碼示例
- JQuery last()用法及代碼示例
- JQuery first()用法及代碼示例
- underscore.js max()用法及代碼示例
- underscore.js min()用法及代碼示例
- underscore.js where()用法及代碼示例
- underscore.js contains()用法及代碼示例
- JQuery after()用法及代碼示例
- JQuery val()用法及代碼示例
- JQuery has()用法及代碼示例
注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js | _.delay() with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。