闭包的定义:

  闭包(closuer)是一个受到保护的变量空间,由内嵌函数构成。就是说闭包内的变量不能被外部函数访问,为什么会这样?

函数的作用域:

  JS具有函数级的作用域,这表明外部函数不能访问内部函数的变量;JS的作用域是词法性质的,这意味着函数运行在定义它的作用域中,而不是调用它的作用域。(这与 this 的用法有很大的不同)这两个因素使得包裹在匿名函数中的变量变得安全,进而创建类的私有变量。

var baz;
(function(){
  var foo = 10;
  var bar = 2;
  baz = function(){
    return foo * bar;
  }
})();
baz();

创建闭包:

  返回一个内嵌函数是创建闭包最常用的方式。 

 

相关文章:

  • 2021-08-23
  • 2021-09-12
  • 2021-09-24
猜你喜欢
  • 2021-10-12
  • 2022-12-23
  • 2021-07-23
  • 2021-05-17
  • 2021-12-14
相关资源
相似解决方案