关于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);

 

 

转载于:https://www.cnblogs.com/rentj1/archive/2012/11/12/2766541.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值