我正在大量使用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
};