日期:2014-05-16 浏览次数:20442 次
(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);
}
}