0

我有一个页面可以在任何特定时间包含不同的内页。

每个内页都需要一个特定的 js 文件,该文件是使用 Headjs 动态加载的。

为了避免(方法和对象名称的)冲突,我想在加载新文件之前卸载旧的 js 文件。

有谁知道该怎么做,或者甚至可能吗?谢谢!

4

1 回答 1

0

不。理论上没有什么比“卸载”javascript 文件更重要的了。一旦它加载它一直在那里。

但是可能还有其他避免“冲突”的技巧,主要是干净的代码。您的案例的一些示例是 1- 命名空间的使用 2- 避免全局变量 3- 定义范围内的所有内容并理解范围 4- 使用可理解的描述性变量名称,避免命名为 s、i、j 等的变量。除非您是习惯了,知道在做什么。另请注意,由于在请求页面时会加载 javascript 文件,因此会导致额外的流量使用巨大的变量和类名称。

假设您有同名但位于不同范围/命名空间中的函数示例:

var myclass;
if (something) myclass = Obj1;
else if (somethingelse) myclass = Obj2;
myclass.func();

所以你去吧,两个同名的函数,但存在于不同的类中。所以你可以在不同的实现之间切换

希望这可以帮助

于 2012-08-08T14:00:00.127 回答