首页 > 编程语言 > 详细

把注释写到函数内部 -- 轻松生成 JavaScript API Doc

时间:2014-12-22 13:02:55      阅读:201      评论:0      收藏:0      [点我收藏+]

在线演示 http://runjs.cn/detail/bjk0zqfl

(function () {
    // 用闭包写 js 是最常规的方法
    var api = this.Api = {};
    // 这个简单正则下面要要用
    var ez = /^function.+\((.*)\)\s*{\s*\/\*+([\S\s]*)\*+\//;

    // 一些私有方法, 不暴露到 api 给用户使用
    function private(){
        // something
    }

    // 下面的 api.show 是用户可见的, 我们把注释写到 函数里面

    api.show = function(msg){
        /* alert msg */
        alert(msg)
    }

    // 下面是最简单的 API Doc 生成方法

    api.docez = docez

    function docez(obj){
        /**
            docez 生成 JavaScript API Doc 数据
            与直接从源码提取注释不同, 直接忽略了私有方法.
        */
        var comment,api = Object.create(null);
        obj = obj || this;
        for (var name in obj){
            if(typeof obj[name]!==‘function‘){
                continue
            }
            comment = ez.exec(obj[name].toString())
            // 无注释, 简单跳过
            if(!comment) continue
            api[name]={
                params: comment[1],
                desc: comment[2]
            }
        }
        return api
    }

    // 下面提取 api 文档并以 JSON 显示出来
    document.getElementById(‘ApiDoc‘).innerText = JSON.stringify(api.docez(),null,4)

})()

把注释写到函数内部 -- 轻松生成 JavaScript API Doc

原文:http://my.oschina.net/achun/blog/359146

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!