zoukankan      html  css  js  c++  java
  • javascript模块化

    将代码模块化,可以实现代码的重用,用以支持大规模的程序开发。可以将代码组织到类来实现代码模块化也可以采用其他方式。一般,模块是一个独立的js文件,模块文件可以包含类的定义、一组相关的类、一个使用函数库等。另外,模块文件文件名应该与命名空间匹配

    Javascript并没有定义用以支持模块的语言结构,例如不能通过使用imports和exports(imports和exports仍是javascript保留的关键字),很多js库和客户端框架都包含了模块系统,例如在Nodejs中可以使用require导入需要的模块。

    代码模块化时,不同的模块必须避免修改全局执行上下文,以保证后续模块在他们所期望进行的原始上下文中进行。

    1. 使用对象作为命名空间,将函数和值作为命名空间对象属性存储,而不是定义全局函数和变量,用以保持干净的全局命名空间

    eg:

    //定义set属性SinletonSet
    var sets = {};
    sets.SingletonSet = sets.AbstractEnumerableSet.extend();
    
    //使用
    var ss = new sets.SingletonSet();

    使用时也可以将常用的值导入到命名空间中,eg:

    //定义set属性SinletonSet
    var sets = {};
    sets.SingletonSet = sets.AbstractEnumerableSet.extend();
    
    //使用
    
    var set = sets.SingletonSet();
    var ss = new set();

    2.  模块中一些辅助函数或者方法如果要自爱模块外部不可见,可以将模块定义在某个函数的内部。如果想使代码在一个私有命名空间中运行,只需给这段代码奖赏前缀(function(){}())

    eg:

    var Set = (function invoke(){
        function Set(){
            .....
        }
        .......
        return Set;
    }());

     

  • 相关阅读:
    struts2文件上传(多文件)文件下载
    Struts2拦截器
    MySQL中修改多个数据表的字段拼接问题
    Struts2接受请求参数三种常用方法
    struts2 配置详解
    Struts2入门问题
    Struts2启动问题:ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    Ajax和json一道基本的练习题
    jQuery事件--blur()和focus()
    jQuery事件--mouseover()、mouseout()、mouseenter()和mouseleave()
  • 原文地址:https://www.cnblogs.com/wishyouhappy/p/3756728.html
Copyright © 2011-2022 走看看