闭包经典考题

image.png

输出结果:
image.png

思路:闭包的核心是引用链,引用链其实就是函数中没有定义的变量都会一层一层的往上一级去找,一直到全局变量。有一个简单的算法,这道题只要找出返回的函数里的n是什么就行了。
例如:c=fun(0),则此时fun(n=0, o=undifined),所以输出undifined,而c=fun(0).fun(1),此时调的是函数fun(m=1,n=0),这时赋予新的n值fun(n=1, o=0),所以输出0。而当c.fun(2)时,调的是函数fun(m=2,n=1),这时赋予新的n值fun(n=2, o=1),输出1。同理,对于c.fun(3)时,调的是函数fun(m=3,n=1),这时赋予新的n值fun(n=3, o=1),依旧输出1。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容