完全删除Javascript

完全删除Javascript,javascript,Javascript,我有一个网站,它有固定的菜单、标题等,并根据菜单点击通过AJAX加载主要内容区域。 这些“页面”依赖于许多Javascript和CSS,每个页面都有各自的Javascript和CSS。由于用户可能访问许多页面,因此我想卸载特定于页面的JS和CSS。CSS是直截了当的,但是删除标记并不会删除加载的Javascript(我仍然可以调用其中定义的函数)。 我如何才能真正“删除”JS?我不想要内存开销,也不必担心页面之间的名称冲突。我的理解是,如果javascript函数声明是使用eval()创建的,则

我有一个网站,它有固定的菜单、标题等,并根据菜单点击通过AJAX加载主要内容区域。
这些“页面”依赖于许多Javascript和CSS,每个页面都有各自的Javascript和CSS。由于用户可能访问许多页面,因此我想卸载特定于页面的JS和CSS。CSS是直截了当的,但是删除
标记并不会删除加载的Javascript(我仍然可以调用其中定义的函数)。
我如何才能真正“删除”JS?我不想要内存开销,也不必担心页面之间的名称冲突。

我的理解是,如果javascript函数声明是使用eval()创建的,则只能完全删除它们。如果是这种情况,您可以通过调用

delete funcName;

如果函数不是使用eval()创建的,那么最好是重新定义它。这方面的例子不胜枚举。这里有一个:

您可以将函数加载到特定于页面的对象中。这将要求您通过该对象进行所有特定于页面的调用。当您想要卸载页面时,让该对象指向其他对象(比如null)。现在您没有对对象的引用,它将由运行时清理。(假设没有其他人指向它。这很容易实施。)

那么,当用户单击菜单项时,您的站点真的只是一个动态加载其他页面数据的页面吗?你到底想删除什么JavaScript?你能说得更清楚一点吗?正确模块化的JavaScript不应该出现这样的问题——将特定于页面的JavaScript保存在特定于页面的模块中。你不能从内存中删除JavaScript。这是浏览器的工作。将函数加载到特定于页面的对象中。处理完对象后,将其丢弃(将指向该对象的所有变量(希望只有一个)指定为null或w/e)。通过该对象进行调用。只是个主意,这个主意太棒了!如果答案是(而不是评论),我会将其标记为答案