当几个开发人员处理javascript文件时,他们中的许多人最终一次又一次地编写相同的文件名
简单的例子可以是getCookie,setCookie类型的函数。
现在我们正在对javascript文件进行聚合,如果两次使用相同的函数会有任何问题。
现在一切正常,但我想知道
感谢您的帮助
答案 0 :(得分:11)
是的,如果最终在全局命名空间中无意中定义了两次函数,肯定会出现问题。最后定义的函数将简单地覆盖前一个函数。
您可能需要考虑使用命名空间来解决此问题。 JavaScript命名空间通常通过使用对象和闭包进行模仿,并且通常使用自调用函数进行初始化:
var myNamespace = (function () {
var _name = 'Bob';
return {
somePublicMethod: function () {
return 'Hello, ' + _name;
}
};
})();
alert(myNamespace.somePublicMethod());
答案 1 :(得分:5)
有点像 The Highlander - 对于任何给定的全局符号,只能有一个!
答案 2 :(得分:0)
命名空间是答案的一部分,另一部分是不写重复代码。
函数或变量的名称应描述其用途,因此具有相同名称的两个函数应该是相同的函数!当然,你不能完美地做到这一点,这就是我们拥有命名空间的原因。