关于node中两个模块相互引用却不会死循环的问题
node中是通过require来导入加载模块的,require有两个作用:
1.加载文件模块并执行里面的代码
2.拿到被加载文件模块导出的接口对象 现在又两个文件一个文件a 一个文件b 这是a文件的代码
这是b文件的代码
我们运行a文件发现,并未出现死循环的状态出现
原因就是
nodejs在运行b文件调用a文件这行代码时
为了防止死循环会返回a.js未完成的副本,
这个未完成的副本就是a.js执行到require('./b.js')这一行的时候a.js的状态
所以就不会造成死循环。