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


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


_.delay()函数:

  • 等待指定的毫秒数后,它将在其参数中执行提到的函数。
  • 它通常在我们要执行某些任务但要经过一定时间后使用。在这种情况下,我们可以定义此函数,然后将在等待毫秒后执行。
  • 如果我们也将参数传递给此函数(可以选择传递),则这些参数将充当传递给_.delay()函数的函数的参数。

用法:

_.delay(function, wait, *arguments)

参数:它包含三个参数:


  • 要执行的函数。
  • wait:需要执行该函数的时间(以毫秒为单位)
  • 传递给_.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个字符串的组合,即“ 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>

    输出:

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