JavaScript闭包与匿名函数

匿名函数

顾名思义,匿名允许创建没有任何名称标识符的函数。它可以用作其他函数的参数。使用变量名来调用它们:

这是可以使用JavaScript匿名函数的方式:

var func = function() {
   alert(‘This is anonymous');
}
func();

另一个示例可以如下:

setTimeout(function() {
   alert('Demo');
}, 3000);

JavaScript闭包

在JavaScript中,所有功能都像闭包一样工作。闭包是一个函数,它使用在调用时在其中声明的范围。它不是调用它的范围。

这是一个例子:

<!DOCTYPE html>
<html>
   <body>
      <h2>JavaScript Closures</h2>
      <script>
         var p = 20;
         function a() {
            var p = 40;
            b(function() {
               alert(p);
            });
         }
         function b(f) {
            var p = 60;
            f();
         }
         a();
      </script>
   </body>
</html>