我正在大量使用ajax的情况下使用MVC3,以获取部分视图。如果Partial视图包含JavaScript,则将其添加为新的js文件,如快照所示:



所以如果我有一个js函数:

function checkValue(){
   //do work
}


在ajax上调用时,将添加一个包含此功能的新动态JS文件,该文件与旧一次冲突。

myfile.js包含:

function checkValue(){
   //do work
}


1.js(动态文件)也将包含它

function checkValue(){
   //do work
}


因此,当我由于存在于旧文件中而对其进行调用时,它会调用已经存在的function,这已经过时了。像新的JavaScript替代旧的JavaScript一样如何解决这种情况。

谢谢

最佳答案

您可以检查是否已定义某些内容,并仅在未定义时重新定义它:

var checkValue = checkValue || function () {
     //do work
};


如果要让定义覆盖彼此,而不是使用名称定义函数,请每次在全局对象上定义它们:

window.checkValue = function () {
     //do work
};

09-17 12:39