【发布时间】:2012-08-05 15:33:34
【问题描述】:
我的页面可以在任何特定时间包含不同的内页。
每个内页都需要一个特定的 js 文件,该文件是使用 Headjs 动态加载的。
为了避免(方法和对象名称的)冲突,我想在加载新的 js 文件之前卸载旧的 js 文件。
有谁知道怎么做,或者是否有可能?谢谢!
【问题讨论】:
标签: javascript javascript-framework
我的页面可以在任何特定时间包含不同的内页。
每个内页都需要一个特定的 js 文件,该文件是使用 Headjs 动态加载的。
为了避免(方法和对象名称的)冲突,我想在加载新的 js 文件之前卸载旧的 js 文件。
有谁知道怎么做,或者是否有可能?谢谢!
【问题讨论】:
标签: javascript javascript-framework
没有。从理论上讲,没有什么比“卸载” javascript 文件更好的了。一旦它加载它一直在那里。
但可能还有其他技巧可以避免“冲突”,主要是干净的代码。您的案例的一些示例是 1- 命名空间的使用 2-避免全局变量 3-定义范围内的所有内容并理解范围 4- 使用易于理解的描述性变量名称,避免使用名为 s、i、j 等的变量。除非您已经习惯并且知道自己在做什么。另请注意,由于在请求页面时会加载 javascript 文件,因此会导致额外的流量为变量和类使用巨大的大名称。
假设您有相同名称但位于不同范围/命名空间中的函数 示例:
var myclass;
if (something) myclass = Obj1;
else if (somethingelse) myclass = Obj2;
myclass.func();
所以你去吧,两个同名的函数,但存在于不同的类中。所以你可以在不同的实现之间切换
希望对你有帮助
【讨论】: