如何使对象成为公共对象而不删除javascript中的var
如何在上面的代码中将“a”对象作为公共对象而不删除“var”,这意味着“a”甚至可以从下面这样的另一个文件访问如何使对象成为公共对象而不删除javascript中的var,javascript,javascript-objects,Javascript,Javascript Objects,如何在上面的代码中将“a”对象作为公共对象而不删除“var”,这意味着“a”甚至可以从下面这样的另一个文件访问 注意:不要说要删除“var”,我知道这一点。但我想知道的是,在不删除“var”的情况下,您可以将其附加到全局范围。在web浏览器中,这是窗口对象 (function(){ a.b(); }()); 稍后,您可以通过窗口.a或仅通过a引用它 这通常是不鼓励的,因为当两个不起眼的脚本运行并定义同一事物时,可能会发生冲突。最好是将您需要的任何东西封装在闭包中 您可以从iLife返回
注意:不要说要删除“var”,我知道这一点。但我想知道的是,在不删除“var”的情况下,您可以将其附加到全局范围。在web浏览器中,这是
窗口
对象
(function(){
a.b();
}());
稍后,您可以通过窗口.a
或仅通过a
引用它
这通常是不鼓励的,因为当两个不起眼的脚本运行并定义同一事物时,可能会发生冲突。最好是将您需要的任何东西封装在闭包中 您可以从iLife返回
a
:
window.a = {};
或为窗口创建属性
:
var a = (function(){
var a = {};
a.b = function(){
alert('this is b');
}
return a;
}());
@Teemu我把这个要求解释为想要显式地声明一个全局的,而不是简单地避免删除一些语法?只需在公共范围内声明公共变量并从中使用它。如果您想使用模块化代码,可以考虑使用AMD、Cuffjs或Node Browserify。
var a = (function(){
var a = {};
a.b = function(){
alert('this is b');
}
return a;
}());
(function(){
var a = {};
a.b = function(){
alert('this is b');
}
window.a = a;
}());