请问这种情况是闭包吗?

新手上路,请多包涵

    const Fns = []

    function foo() {
      Fns.forEach( fn => {
        fn()
      })
    }

    function bar() {
      function test() {
        return 'test'
      }

      Fns.push(() => {
        const value = test()
        print(value)
      })

      function print(value) {
        console.log(value)
      }

      foo()

    }

    bar()

请问在我push进这两个的时候,又在foo函数中调用,这个是否构成闭包?

阅读 1.3k
2 个回答
✓ 已被采纳

当打印出 test的时候就是闭包了,const value = test()

新手上路,请多包涵

这种情况是闭包。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题