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


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


Underscore.js 是一个 JavaScript 库,即使不使用任何 内置 对象,它也提供了许多有用的函数,如Map、过滤器、调用等。
_.defer() 函数用于调用/调用一个函数,直到当前调用堆栈被清除。它的主要优点是它以块的形式执行昂贵的计算、计算或 HTML,而不会阻止 UI 线程更新。它与延迟为 0 的 setTimeOut() 函数函数相似。传递给该函数的函数将首先被调用。
调用堆栈是解释器(如 JavaScript 解释器)的一种机制,用于跟踪其在调用多个函数的脚本中的位置。
用法:

_.defer(function, *arguments)

参数:
它需要两个参数:

  • function
  • arguments (optional)

返回值:
它不返回任何值,而是执行传递的函数。

  1. 将 alert() 函数传递给 _.defer() 函数:
    _.defer() 函数首先检查当前调用堆栈。如果它被清除,则将执行传递给它的 alert() 函数,并显示传递给它的字符串“This is the deferred function”。但是如果当前调用堆栈没有被清除并且有一些其他的工作要执行,那么 alert() 函数将不会被立即调用,而是需要等待堆栈变空。
    Examples:

html


<html>
  
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
  </script>
</head>
  
<body>
    <script type="text/javascript">
        _.defer(function() {
            alert('This is the deferred function');
        });
    </script>
</body>
  
</html>
  1. Output:



  1. 使用 _.defer() 函数执行加法:
    我们可以使用 _.defer() 函数执行各种数学运算。就像这里我们正在执行 7 和 3 的加法,然后警告它。将遵循相同的程序。首先,将检查当前调用堆栈。如果它不为空,则不会调用其他函数。但如果全部清除,则会调用警报函数,显示 7 和 3 的加法,即 10。
    Example:

HTML


<html>
  
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
  </script>
</head>
  
<body>
    <script type="text/javascript">
        _.defer(function() {
            alert(7 + 3);
        });
    </script>
</body>
  
</html>
  1. Output:

  1. 将 console.log() 函数传递给 _.defer() 函数:
    我们甚至可以使用其他函数,例如 console.log() 函数。 _.defer() 函数将检查调用堆栈是否为空。如果它不为空,则不会调用 console.log() 函数。否则,控制台会显示“This is the deferred function”。
    Example:

html


<html>
  
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
  </script>
</head>
  
<body>
    <script type="text/javascript">
        _.defer(function() {
            console.log('This is the deferred function');
        });
    </script>
</body>
  
</html>
  1. Output:

  1. 对_.defer()函数执行加法操作:
    我们甚至可以对 console.log() 函数进行加法操作。像这里我们正在执行 1000 和 5666 的加法。如果调用堆栈为空,则显示 “6666” (1000 + 5666),否则不会调用任何函数。
    Example:

html


<html>
  
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
  </script>
</head>
  
<body>
    <script type="text/javascript">
        _.defer(function() {
            console.log(1000 + 5666);
        });
    </script>
</body>
  
</html>
  1. Output:

笔记:
这些命令在 Google 控制台或 Firefox 中不起作用,因为需要添加他们没有添加的这些附加文件。
因此,将给定的链接添加到您的 HTML 文件中,然后运行它们。
链接如下:

HTML


<script type="text/javascript" src =
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>



相关用法


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