1.通常我们写js是下面这样
function fn1(){
//console.log(a)
}
function fn2(){
//console.log(2)
}
在需要调用的地方直接方法名调用就可以了,但多人开发容易引起命名的冲突,不利于优化!
2.可以将所有的方法封装到一个对象中
var demo = {
channel:"wap",
init:function(){
var that=this;
this.start();
},
start:function(){
//console.log(a)
},
fn2:function(){
//console.log(2)
}
};
demo.init();
这样可以避免命名的冲突,但外部可以随意修改内部变量。
demo.channel="pc";
console.log(demo.channel)
要想避免外部修改,可以用函数封装起来,即IIFE。
3.IIFE
var demo = (function(){
var a=1;
var b=2;
init();
function init(){
fn1();
fn2();
}
function fn1(){
//console.log(a)
}
function fn2(){
//console.log(2)
}
})();