例如javascript代码是:
function a() {
this.Foo = function() {//...}
}
我通常做的是创建一个全局引用:
_a = new a();
然后在正文或其他脚本区域中的任何地方使用它:
_a.Foo()
这是好还是坏的做法?还是有更好/更专业的方法来做到这一点?
例如javascript代码是:
function a() {
this.Foo = function() {//...}
}
我通常做的是创建一个全局引用:
_a = new a();
然后在正文或其他脚本区域中的任何地方使用它:
_a.Foo()
这是好还是坏的做法?还是有更好/更专业的方法来做到这一点?
一般来说,Javascript 开发人员会尽量避免这种情况,因为不同的库在全局范围内可能会相互冲突。为避免这种情况,请考虑(如果可能)使用所谓的闭包为变量创建私有范围。看起来像这样:
(function() {
_a = new a();
})();
内部函数内部声明的所有内容对于外部代码都是不可见的。
如果出于某种原因您不能使用闭包,那么另一种方法是为您的变量创建一个“命名空间”。
var MyCompany = { };
MyCompany.MyLibrary = { };
MyCompany.MyLibrary._a = new a();
通过这种方式,您可以将代码限制为获取单个全局名称 (MyCompany),而其他变量和方法位于该名称空间内。