zoukankan      html  css  js  c++  java
  • 关于Javsript代码的注释和模块定义

    可以这样定义模块:

    (function(ns, required){
              
    })(window, base);
    


        在上面的代码中使用一个匿名立即执行函数来限定代码的作用域在匿名函数内,用来封模块装逻辑并避免全局命名空间污染。其中ns表示命名空间,required表示依赖的模块。模块通过ns[name] = name; 这样导出,供外部使用。

        我们将全局对象作为参数传入匿名函数,这样写的目有两个:一方面可以使我们一眼就看出来模块使用了那些全局对象;另一方面因为在Javascript中访问局部变量不需要遍历 作用域链所以性能会比访问访问全局变量更高。

    这样写注释:

    //class TabView {
      /**
       * function TabView(tabs, panels) : void
         * 选项卡切换控件
         * @param {Array} tabs 切换选项卡
         * @param {Array} panels 内容显示面板
         * @param {Number} selected 默认选择的选项索引
         */
        function TabView(tabs, panels, selected){
        
            this.tabs=tabs;
        
            this.panels=panels
        
        }
        /*其他代码*/
        
    //}
    

     

    这样写的目有两个:

    •   一是告诉调用者这个函数需要new func(),不能func()这样直接调用,
    •   二是标识伪类的开始和结束方便查阅代码,大括号接近JS 和C#的开始结束代码块风格,可以一眼看上去就知道定义的开始和结束。



    结合在一起后的代码:


    看起来类似这样:

    (function(ns, base){
    
    //class TabView {
      /**
       * function TabView(tabs, panels) : void
         * 选项卡切换控件
         * @param {Array} tabs 切换选项卡
         * @param {Array} panels 内容显示面板
         * @param {Number} selected 默认选择的选项索引
         */
        function TabView(tabs, panels, selected){
    
            this.tabs=tabs;
    
            this.panels=panels
    
        }
        /*其他代码*/
    
    //}
    
    ns["TabView"] = TabView;
    })(window, base);
    

     

  • 相关阅读:
    Java的基本数据类型
    第五小组链表讨论作业
    WLST 命令和变量
    Linux之find命令详解
    Linux之netstat命令详解
    Linux之 sort,uniq,cut,wc命令详解
    Linux之grep命令详解
    Linux之awk命令详解
    Linux之sed命令详解
    关于表 datatable的条件查询
  • 原文地址:https://www.cnblogs.com/rentj1/p/2766541.html
Copyright © 2011-2022 走看看