通过JSDoc描述内部功能

时间:2020-04-18 15:05:36

标签: jsdoc

我有这样的代码:

private void button1_Click(object sender, EventArgs e)
{

    string path = @"C:\Users\felc\Desktop\file\" + textBox1.Text + ".txt";

    if (!File.Exists(path))
    {
        File.Create(path);
    }

    using(var tw = new StreamWriter(path, false))
    {
        tw.WriteLine(textBox2.Text);
    }
}

var f = function(){ var obj = {}; obj.keyA = "val"; obj.keyB = function(arg2){} return obj; } 是一个{string}。

是否可以使用JSDoc描述此代码?

如您所见,此代码试图像面向对象的代码一样实现smth。这是因为我应该使用旧的JavaScript引擎(ECMA 262版本3,版本4、5和6的一部分)。看来,该引擎不支持类(解释器抛出语法错误)。

那么,是否可以用JSDoc生成可读文档的方式描述上面的代码?

1 个答案:

答案 0 :(得分:0)

我建议使用自定义标签typedef,该标签可以让您首先描述内部类型,例如

/**
 * Definition for keyB
 * @callback KeyBCallback
 * @param {*} arg2
 * @returns {void}
 */

/**
 * Definition of an internal obj
 * @typedef {Object} InternalObj
 * @property {string} keyA - some property
 * @property {KeyBCallback} keyB - a callback stored in keyB
 */

最后,您需要将InternalObj用作函数的返回值,例如

/**
 * Function f
 * @returns {InternalObj}
 */
var f = function(){
    var obj = {};
    obj.keyA = "val";
    obj.keyB = function(arg2){}
    return obj;
}