首页
学习
活动
专区
圈层
工具
发布

鸡和蛋
EN

Stack Overflow用户
提问于 2011-10-14 04:58:39
回答 4查看 597关注 0票数 2

我有两个非常大的函数,ab,它们目前都在一个很大的JavaScript文件中。我的目标是将每个函数放在一个单独的JavaScript文件中。

问题是,a调用bb调用a,因此如果我将这两个函数放在不同的文件中,那么其中一个函数将缺少另一个函数的定义,并且我会收到一条错误消息,然后事情就会中断。

当它们在相同的文件中,在相同的闭包下,东西不会因为提升而崩溃。当这两个函数相互引用时,我如何将它们放在不同的文件中?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-14 05:02:09

如果它们在不同的文件中,那么你就不会把它们放在同一个闭包中,所以这就是起火的问题。

在此之后,如果您愿意强制执行加载顺序(即先加载A,加载B),则只需让A定义B的存根,然后B将在加载时重新定义它。只要A没有在B加载之前执行,你就不会有问题。

票数 4
EN

Stack Overflow用户

发布于 2011-10-14 05:01:19

使用Google Loader,那么您就知道脚本在函数调用之前是可用的。

票数 1
EN

Stack Overflow用户

发布于 2011-10-14 05:02:01

如果它们像这样放在一起,我不会将它们分割成单独的文件。取而代之的是,尝试分解函数本身。长文件没有问题,但是长函数通常是不可维护的。

除此之外:如果它们是单独的函数,它们是否在同一个文件中并不重要,只要两个文件都加载了,并且直到两个文件都加载后才调用这些函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7760350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档