_.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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。