【发布时间】:2016-01-07 14:21:26
【问题描述】:
我有一个文件bg.js,其内容只是一个 IIFE。我想加载这个文件/从另一个文件中的另一个函数调用该函数。由于 IIFE 是匿名的(它是,对吗?)我不能直呼其名。看来我必须加载整个文件才能立即执行。
我已经搜索并找到了许多关于什么是 IIFE 的教程和文档,但我没有看到如何从另一个范围执行一个。
如何从另一个 javascript 文件调用/加载作为 IIFE 的 javascript 文件?
更多信息
IIFE 加载在我页面的页脚中。当我单击链接进行导航时,不会执行页眉和页脚脚本。页脚中的 IIFE 负责设置背景图片,所以我需要在我的perPageBindings() 中执行该函数。
我认为我需要做的是从主体中的另一个函数调用 IIFE,该函数在 perPageBindings() 中执行
为清晰起见进行编辑 我正在考虑两种选择:
- 只需将脚本标签从页脚移至正文即可;或
- 为 IIFE 命名,使其不再是匿名的,然后从其他地方调用该命名函数
如果 2 是一个可行的选项,那么我想我会提出一个关于将 IIFE 转换为命名函数的新问题。
【问题讨论】:
-
可以使用
$.getScript全局加载js文件并执行。 -
根据定义,立即调用 IIFE - 能够“从另一个文件调用它”是没有意义的。
-
这听起来像是 XY 问题。需要更多关于 IIFE 的功能以及您希望它做什么以及按什么顺序执行的详细信息
-
我认为,如果您包含一些代码和您的实际意图,您可能会发现您得到的答案可以为您提供更好的方法/替代方案
-
重组 IIFE,使其成为您可以在需要时调用的函数
标签: javascript jquery iife