日期:2014-05-16 浏览次数:20387 次
(function(){ window.r_soft= new Object(); function tests(){ alert("SS"); } window.r_soft.tests = tests; })();
var r_soft= new Object(); r_soft.tests = function(){ alert("SS"); }
var a = "out"; function tests() { alert(a); }; (function() { window.r_soft = new Object(); var a = "inner"; function tests(s) { alert(s+a); } window.r_soft.tests = tests; })();
------解决方案--------------------
看完这个应该都懂了
------解决方案--------------------
自动执行匿名函数,好处是避免命名冲突
你的2段代码都是只 暴露了一个全局变量,这样的代码
为什么不简单点写呢?非要加个匿名函数呢
------解决方案--------------------
我感觉应用第二种,用闭包会浪费内存,用其他方式能实现最好不用闭包
------解决方案--------------------
个人认为,匿名函数立即运行,势必会影响性能,使用它只要是避免与全局变量冲突。
楼主可以试试
var namespace = {
a:1,
b:2,
fn: function(){
alert(this.a);
}
}