我有两个非常大的函数,a和b,它们目前都在一个很大的JavaScript文件中。我的目标是将每个函数放在一个单独的JavaScript文件中。
问题是,a调用b,b调用a,因此如果我将这两个函数放在不同的文件中,那么其中一个函数将缺少另一个函数的定义,并且我会收到一条错误消息,然后事情就会中断。
当它们在相同的文件中,在相同的闭包下,东西不会因为提升而崩溃。当这两个函数相互引用时,我如何将它们放在不同的文件中?
发布于 2011-10-14 05:02:09
如果它们在不同的文件中,那么你就不会把它们放在同一个闭包中,所以这就是起火的问题。
在此之后,如果您愿意强制执行加载顺序(即先加载A,加载B),则只需让A定义B的存根,然后B将在加载时重新定义它。只要A没有在B加载之前执行,你就不会有问题。
发布于 2011-10-14 05:01:19
使用Google Loader,那么您就知道脚本在函数调用之前是可用的。
发布于 2011-10-14 05:02:01
如果它们像这样放在一起,我不会将它们分割成单独的文件。取而代之的是,尝试分解函数本身。长文件没有问题,但是长函数通常是不可维护的。
除此之外:如果它们是单独的函数,它们是否在同一个文件中并不重要,只要两个文件都加载了,并且直到两个文件都加载后才调用这些函数。
https://stackoverflow.com/questions/7760350
复制相似问题