码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-12-22 13:03:11      阅读:309      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!