Skip to content

[js] 第691天 请问下,闭包产生的本质是什么? #3654

Open
@haizhilin2013

Description

@haizhilin2013
Collaborator

第691天 请问下,闭包产生的本质是什么?

3+1官网

我也要出题

Activity

Wildprogrammingape

Wildprogrammingape commented on Mar 6, 2021

@Wildprogrammingape

是让嵌套的函数拥有上一层self-invoking function的scope,这样其variable就有了private scope。

Cqy1995

Cqy1995 commented on Mar 22, 2021

@Cqy1995

闭包是由词法作用域与函数是一等公民共同的产物.
词法作用域是指词法分析阶段确定的作用域,说白了是在写代码的时候,确定是函数作用域还是全局作用域.
函数是一等公民,是因为它可以作为参数传递和返回.
而两者结合是为了,让函数有权访问其他函数体内的作用域.
function A(){ let v = 'a';//词法分析确定为函数作用域 return function(b){//作为参数传递 console.log(v+b) } } let a = A(); console.log(v)//Uncaught ReferenceError: v is not defined //函数外是获取不到函数内的值,如果想访问或使用函数内的v,把函数作为参数传递出去 a('b') //打印'ab'

Jack-rainbow

Jack-rainbow commented on Mar 31, 2021

@Jack-rainbow

闭包的本质只是让作用域内的函数能访问其他变量

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    jsJavaScript

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haizhilin2013@Jack-rainbow@Cqy1995@Wildprogrammingape

        Issue actions

          [js] 第691天 请问下,闭包产生的本质是什么? · Issue #3654 · haizlin/fe-interview