1

我的脚本中有一堆函数,它们位于 .js 文件中。如果其他人编写的其他脚本使用与我的脚本中相同的函数名称,如何避免与同一页面中的函数名称发生冲突?

有没有办法做到这一点?

4

2 回答 2

7

如果您不需要在脚本之外访问这些函数,则可以将整个脚本包装在立即调用的函数表达式中:

(function () {
    // Your code here
}());

这引入了一个新的范围,因此其中的任何声明在其外部都是不可见的。

如果您确实需要在该范围之外进行访问,请将您的函数公开为“命名空间”的方法:

var YourStuff = (function () {
    // Private functions etc...

    // Expose public methods
    return {
        someMethod: function () {}
    };
}());

通过采用这种方法,您只需引入一个全局标识符,从而减少发生冲突的机会。您可以按如下方式调用该方法:

YourStuff.someMethod();
于 2013-04-09T10:05:29.040 回答
4

使用命名空间..

var company = {};

company.doSomething = function() {
};

company.project = {};
company.project.submodule = {};
company.project.submodule.doSomething = function() {};
于 2013-04-09T10:05:29.243 回答