欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js闭包是什么??举例子简单化理解

程序员文章站 2022-04-03 23:13:13
...

看了五花八门的文章,越解释越模糊
其实闭包很简单闭包:是指有权访问另一个函数作用域中的变量的函数。
创建闭包的常用方式

//就是在一个函数内部创建另一个函数
//通常都是这种复杂的举例
function createComparisonFunction(propertyName){
  return function(object1, object2){
    var value1 = object1[propertyName];
    var value2 = object2[propertyName];
    if (value1 < value2) {
      return -1;
    } else if (value1 > value2) {
      return 1;
    } else {
      return 0;
    }
  };
}
//在这个例子中,匿名函数function(object1, object2)是一个闭包,
能访问createComparisonFunction作用域里的所有变量

清晰的讲:闭包就是一个函数,这个函数能够访问其他函数的作用域中的变量。

function outer(){
    var a = 123;
    var inner = function(){
        cosole.log(a)
    }
     retrun inner
      //inner就是一个闭包函数, 因为它能够访问到outer函数的作用域
}
相关标签: 闭包 函数 js