如何确定包含在Asp.net页面中的重复Javascript函数

我有一个使用一些javascript函数的应用程序,

由于所有javascripts都包含在Masterpage中,因此大多数带有pagepage的页面都不是必需的,其中一些是重复的(因为在一些不同的JS文件中使用)。

所以我想检查是否有办法确定重复的function并删除它们?

您可以在声明函数时检查函数是否存在,但您必须更改其工作方式。

代替

function foo(){ something } 

 if(window.foo===undefined){ window.foo=function(){ something } } 

你仍然可以打电话给它

 foo(); 

所有这些都可以添加到你的文件中使用regexp查找和替换,所以我认为这很容易:)

不幸的是,除非它们的名称相同,或引用相同的类或ID,否则这非常困难。 但是,如果它是重复的,它应属于其中一个匹配。 我这样说是因为在我们的项目中进行了一次重大转换后,我回过头来将所有的javascript清理成了很好的命名空间并且遇到了同样的问题。

这个答案很糟糕 ,我很抱歉: Ctrl+Shift+F 如果您认为具有不同的名称/相同function,则搜索相同的函数名称或相同的类/ ID。

我发现搜索函数名称#id.class是最有效的。 同时从搜索中排除.cs文件。 这将最大限度地减少自前面#和之后的时间. 只有在jQuery中使用时才会出现,但它仍然是一个非常手动的过程。

我希望有人在这里有一个更好的解决方案,如果他们这样做,我会觉得自己像个白痴,但老实说,我无法在VS 2008中找到更好的方法来做到这一点。

如果两个脚本中的函数具有相同的名称,或者是对象的命名方法,则在解释第二个脚本时,第一个函数将被第二个函数替​​换。

你不会有两个相同的function’占用空间’,但只有一个。

如果你正在使用Webforms或MVC,那么问题就不清楚了。 在任何一种情况下,您都希望使用某种类型的脚本管理器。

对于MVC,我发现这个研究大致相同的问题: ASP.NET MVC的简单ScriptManager

对于Webforms,嗯,不确定,我必须再去做我的作业