_.delay() 函数在等待指定的毫秒后执行其参数中提到的函数。它主要用于我们想要执行某些任务但经过一定时间之后。在这种情况下,我们可以定义这个函数,然后等待毫秒后执行。如果我们也将参数传递给这个函数(这是可选的传递),那么这些参数将作为传递给 _.delay() 函数的函数的参数。
用法:
_.delay(function, wait, *arguments)
参数:它需要三个参数:
- function:要执行的函数。
- wait:函数需要执行的时间(以毫秒为单位)
- *arguments:传递给 _.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 个字符串的组合,即“你好!你好吗?”。<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>
相关用法
- CSS animation-delay用法及代码示例
- JQuery delay()用法及代码示例
- CSS transition-delay用法及代码示例
- Lodash _.delay()用法及代码示例
- p5.js Image delay()用法及代码示例
- jQuery UI Autocomplete delay用法及代码示例
- jQuery UI Resizable delay用法及代码示例
- jQuery UI Draggable delay用法及代码示例
- jQWidgets jqxButton delay属性用法及代码示例
- jQuery delay()用法及代码示例
- jQWidgets jqxSortable delay属性用法及代码示例
- jQuery UI Sortable delay用法及代码示例
- jQuery UI Selectable delay用法及代码示例
注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js _.delay() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。