zoukankan      html  css  js  c++  java
  • JS闭包(2)

    利用闭包的特点,我们可以在封装自己的模块的时候只向外暴露我们模块中的数据,而不让其修改。

    1.第一中封装的方式,新建一个myModule.js文件,这个模块的作用是对外部提供明天和后天的天气。

    在myModule.js中:

    function myModule(){

      var tomorrow = '晴';

      var dayAfterTomorrow = '阴';

      function getTomorrowWeather(){

        console.log(tomorrow );

      }

      function getDayAfterTomorrowWeather(){

        console.log(dayAfterTomorrow );

      }

      return {

      getTomorrowWeather:getTomorrowWeather,

      getDayAfterTomorrowWeather:getDayAfterTomorrowWeather

      };

    }

    在使用该模块时:<script src = "myModule.js"></script>

    <script >

      var module = myModule();

      module .getTomorrowWeather();

      module .getDayAfterTomorrowWeather();

    </script>

    2.第二种封装方式,

    新建一个myModule.js文件,在myModule.js中:

    (function myModule(){

      var tomorrow = '晴';

      var dayAfterTomorrow = '阴';

      function getTomorrowWeather(){

        console.log(tomorrow );

      }

      function getDayAfterTomorrowWeather(){

        console.log(dayAfterTomorrow );

      }

      window.myModule =  {

      getTomorrowWeather:getTomorrowWeather,

      getDayAfterTomorrowWeather:getDayAfterTomorrowWeather

      };

    })();//即在引用该模块的时候就直接执行里面的这个函数,将模块返回的对象直接绑定在window对象中,外部就可以直接访问到这个返回的模块对象直接使用。

    在使用该模块时:<script src = "myModule.js"></script>

    <script >

      myModule.getTomorrowWeather();

      myModule.getDayAfterTomorrowWeather();

    </script>

  • 相关阅读:
    [NOIP2010]引水入城
    [NOIP2009]靶形数独
    设计模式学习笔记——桥接模式(Bridge)
    BootStrap3.0学习--JavaScript 插件
    BootStrap3.0学习--组件
    BootStrap3.0学习--全局 CSS 样式
    BootStrap3.0学习--起步
    设计模式之第11章-建造者模式(Java实现)
    设计模式之第10章-桥接模式(Java实现)
    设计模式之第9章-原型模式(Java实现)
  • 原文地址:https://www.cnblogs.com/maycpou/p/12251939.html
Copyright © 2011-2022 走看看