0

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

ajax 调用上的动态 JS 文件

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

function checkValue(){
   //do work
}

在 ajax 调用时,将添加一个包含此函数的新动态 JS 文件,它与旧的一次冲突。

myfile.js 包含:

function checkValue(){
   //do work
}

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

function checkValue(){
   //do work
}

因此,当我由于旧文件中的存在而调用它时,它调用已经function过时的已经存在。如何解决这种情况,例如新 JavaScript 替换旧 JavaScript。

谢谢

4

1 回答 1

2

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

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

如果您希望您的定义相互覆盖而不是使用名称定义函数,请每次在全局对象上定义它们:

window.checkValue = function () {
     //do work
};
于 2013-01-10T10:00:09.453 回答