• 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>

  • 相关阅读:
    10个对Web开发者最有用的Python包
    9款最好的JavaScript压缩工具
    推荐15款制作 SVG 动画的 JavaScript 库
    2016年最好的15个Web设计和开发工具
    整理六百篇web前端知识混总
    9款免费的跨浏览器测试工具
    9个有用的和免费的工具来支持动态网页开发
    8个基本的引导工具的网页设计师
    11款CSS3动画工具的开发
    2016年某前端群题目答案参考
  • 原文地址:https://www.cnblogs.com/maycpou/p/12251939.html
Copyright © 2020-2023  润新知