双星这里指两个函数。因为就一个函数的情况有点无趣,但是当存在两个函数的时候,情况就变得有些不一样了
两个函数毫无联系


重点讲一下第二个,尽管两个函数的参数名都是x但是它们是相互独立的
两个函数相互联系
两个函数共同使用一个全局变量

一个函数使用另一个函数作为参数


新手经常犯的错误是要么两个都不带()要么两个都带
其中两个都带,会报错;而两个都不带,不会报错,但是什么也得不到
一个函数内部嵌套另一个函数


但我他喵地就想在内部函数里用return,怎么滴你咬我啊,别急也是有办法的

更多的时候我们见到的可能是这种

这里的内部函数g()就是所谓的闭包或者工厂函数了.
另外我们看一下func究竟是什么

闭包(Closure)
闭包概念: 把内部函数作为外部函数的返回值,其中内部函数可以对外部作用域的变量进行引用,但是不能进行修改.


output:5
如果赋值语句x=3不存在,output:7
如果赋值语句x=5也不存在,只存在全局变量x=7那么output:9

网友评论