避免与函数命名约定javascript冲突

时间:2013-04-09 10:03:30

标签: javascript

我的脚本中有很多函数驻留在.js文件中。 如果某些其他人编写的其他脚本使用与我脚本中相同的函数名称,如何避免与同一页面中我的函数名称发生冲突?

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:6)

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

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

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

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

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

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

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

YourStuff.someMethod();

答案 1 :(得分:4)

使用名称空间..

var company = {};

company.doSomething = function() {
};

company.project = {};
company.project.submodule = {};
company.project.submodule.doSomething = function() {};