使用哪种方式比较好?请教
主要是2种方式:
第一种:
(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);
}
}