前端模块化开发

来源:互联网 发布:深圳软件协会 编辑:程序博客网 时间:2024/05/17 04:11

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)    }   })();