Skip to content

闭包

闭包是指引用了另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另一个函数。

js
function example(property) {
  return (o1, o2) => {
    let v1 = o1[property]
    let v2 = o2[property]

    if (v1 < v2) {
      return -1
    } else if (v1 > v2) {
      return 1
    } else {
      return 0
    }
  }
}

可以看到内部函数中突出的两行代码引用了外部函数的变量 property

References

  • JavaScript 高级程序设计(第 3 版)第 7 章 7.2 小节