我不会在这里添加任何代码。只是在这个项目上工作,不仅是这次,而且经常有一个javascript文件杀死其他人,所以我在这种情况下寻找类似的解决方案(让我们说一个不同的滑块等)。
但是有没有更多的方法来包装一些javascript文件它不会干扰其他文件?
答案 0 :(得分:5)
请详细说明您的意思 - 但我有一种感觉。
使用命名空间。
如果您使用不同库的集合,如果您没有使用名称空间,则可能会发生库具有相同的全局名称。
通常发生碰撞的示例:
function dontdothis() {
alert("Foo");
}
function dontdothis() {
alert("Bar");
}
dontdothis();
如何避免这些冲突的示例:
var myownspace={};
myownspace.dothis=function() {
alert("Foo");
}
function dothis() {
alert("Bar");
}
myownspace.dothis();
答案 1 :(得分:3)
一般情况下,JavaScript的每个亵渎chuck都应该包含在一个API中,该API通过一个全局(具有非通用名称)暴露给广阔的世界,因此YAHOO
是合理的。不太可能被其他东西使用,而$
很糟糕。
这称为namespacing
答案 2 :(得分:2)
如果我正确理解了您的问题,那么您的解决方案就是命名空间。
var APP = {};
APP.namespace = function(sNamespace) {
if ("undefined" == typeof APP[sNamespace]) {
APP[sNamespace] = {};
}
}
用法:
APP.namespace("profile");
APP.profile.AskQuestionDialog = function(oConfigs) { ... }
DOM树:
-window
-APP
-profile
您应该使用APP.namespace()