关于JS中 递归的一些疑惑,希望JS大佬帮忙讲解下 5C

图片说明

图片说明为啥根据上图,得到了不同的答案,即使将fun设置为null,依然可以调用呢?

3个回答

这个函数名是f ,递归调用的也是f(num-1), 不是fun。当然能调用了。
而且作为函数表达式的函数名相当于函数内的局部变量,只能在函数作用域内访问,这就是用来方便进行函数递归调用的。

gun指向fun,然后就算你把fun置为null,gun依然可以运行,js是逐条运行,而不是先编译再执行,之所以能执行,gun应该是指向函数f,然后再把fun置为空。所以依然可以运行。

首先你可以看一下JS函数申明相关的知识,然后再看一下对象深拷贝,浅拷贝相关的知识。自己应该就能理解了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!