nodejs 递归遍历。。
又是 几个小时……debug
有问题的代码是这样的,
1 | let processDir = function(dir){ |
读取目录中的所有目录和文件,如果是目录,递归读取,如果是文件,则输出,一些操作,
但是问题在于,实际运行时,遍历的目录会比实际目录少,而且,产生的结构也是错误的.
问题在于 for 中的变量定义
上面代码中,for 没有使用 let var const,而是直接使用 i ,导致,这个i时全局变量,所以,每次递归时,用的都是同一个 i ,所以,子函数返回时, i 已经被改变,超出范围。
,,,,我还寻思是堆栈溢出了……..
Author: 哒琳
Permalink: http://blog.jieis.cn/2022/4b7bd02f-a511-4c1c-9d13-a066295a1d03.html
Comments