闭包、模块化

    命名空间 - 就是一个对象

    解决因多人开发导致的命名冲突问题
    比如整个页面中的一个对象:

    1. var org = {
    2. department01: {
    3. gjf: {
    4. num: 0,
    5. age: 12,
    6. name: 'gjf'
    7. }
    8. },
    9. department02: {
    10. gjf: {} // 他也可以有同名属性了
    11. }
    12. }
    13. var gjf = org.department01.gjf;

    不过现在有了webpack脚手架,越来越强大,不这么写了已经。

    第二种方法:
    闭包模块化开发,实现私有化变量,解决命名空间冲突的问题:
    — — 将全局的东西放到局部中,防止污染全局变量。
    _
    比如整个页面中的一个对象:

    1. var init = (function () {
    2. var name = '12',
    3. age = 2;
    4. function neibu() {
    5. console.log(name, age)
    6. }
    7. return function () {
    8. neibu();
    9. }
    10. })();
    11. init();

    image.png