目标:
    1:掌握将函数名赋值给变量并且打印,会打印出什么
    2:掌握什么是函数的闭包

    一:将函数名赋值给变量并且打印,会打印出什么

    答:函数变量名保存的是这个函数在内存中存储的十六进制的地址

    注意事项:函数名只是函数地址的一个引用,也就是一个变量 它可以赋值给其他变量,也可以被其他值赋值

    图示:

    image.png

    代码:

    image.png


    二:了解函数的闭包

    闭包概念:在一个外函数中定义一个内函数,内函数里运用了外函数的临时变量,并且外函数返回值是内函数的函数名(引用)

    函数形成闭包的条件:
    1:在外函数内部又定义了一个内函数
    2:内函数可以引用(使用)外部函数的临时变量(内部函数引用外部变量)
    3:外部函数返回值是内部函数的引用(函数名)

    图示:

    注意:下面代码的result(10,20) 不指定参数10,也是可以打印10 的,因为这个参数定义的形参就是和外部函数一致的

    image.png