zoukankan      html  css  js  c++  java
  • Javascript 模块化编程

        记的刚开始用JS写代码的时候,都是一个方法一个方法的处理某个事情,比如

    function check(){
       do something.....
    }
    

     这样写的好处就是方便,什么时候用,什么时候写,但是坏处就是污染了全局空间,很容易出现重复的名字,而且不容易维护。

       后来想到了用命名空间来解决全局空间的问题,比如下面的写法

      

    var com={};
    var com.do={};
    com.do.get=function(){};
    

       这样,方法名字就不会污染全局空间了,而且不同的人写的方法命名空间也会不一样,但是也有一个坏处那就是,每次调用一个方法的时候,都得写老长的名字,比如com.do.get(),这样很不人性化。

       所以模块化的概念就出来了,把每一个功能集合放在一个模块里,每个想引用别的模块的功能是,调用require即可,目前模块化编程规范有CMD和AMD,下面我就拿玉伯的seaJS模块类库来说说,怎么在程序里进行模块化编程。

     使用seajs开发模块的时候,要遵守CMD规范,一个文件就是一个模块,比如项目中通常会定义一个通用的JS文件,放一些常有的功能,可以如下定义

     //文件名为util.js
    define(function(require,exports){ exports.showMsg(msg){ console.log(msg); }; });

     页面中调用可以这样写

    <script  src="seajs.js"></script>
    <script>
        seajs.use("util",function(util){
             util.showMsg("hello world!");
        });
    </script>
    

      

  • 相关阅读:
    Codeforces Round #470 (rated, Div. 2, based on VK Cup 2018 Round 1)C. Producing Snow
    day69 Django--Form组件
    day68 Django--中间件
    day67 Cookie&Session
    day66 AJAX
    day62 Django框架--视图系统&路由系统
    day65 django--ORM3
    day63 django--ORM
    Day64 django--ORM2
    Day61 Django框架--模板语言2
  • 原文地址:https://www.cnblogs.com/xuwenmin888/p/2991100.html
Copyright © 2011-2022 走看看