输出结果:
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。
网友评论