当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


underscore.js _.delay()用法及代码示例


_.delay() 函数在等待指定的毫秒后执行其参数中提到的函数。它主要用于我们想要执行某些任务但经过一定时间之后。在这种情况下,我们可以定义这个函数,然后等待毫秒后执行。如果我们也将参数传递给这个函数(这是可选的传递),那么这些参数将作为传递给 _.delay() 函数的函数的参数。

用法:

_.delay(function, wait, *arguments)

参数:它需要三个参数:

  • function:要执行的函数。
  • wait:函数需要执行的时间(以毫秒为单位)
  • *arguments:传递给 _.delay() 函数的函数参数(可选)

返回值:它返回传递的函数的值,等待毫秒后执行。

例子:

  1. 将函数直接传递给 _.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>

    输出:

  2. 将 _.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>

    输出:

  3. 将多个参数传递给传递给 _.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>

    输出:

  4. 将数字作为参数传递给传递函数到_.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>



相关用法


注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js _.delay() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。