如何在闭包中注释这个名为bar的私有函数?
var Foo = (function() {
var fn = (function() {
return {
bar: function(baz) {
alert(baz);
}
};
})();
return {
doBar: function(label) {
fn.bar(label);
}
}
});
喜欢这样吗?
/**
* @type {function(string): string}
* @private
*/
bar: function(baz) {
return baz;
}
还是这样?
/**
* @param {string}
* @private
* @return {string}
*/
bar: function(baz) {
return baz;
}
甚至两个文档的组合?但是我会想到函数参数和我认为的返回类型的重复信息。
/**
* @param {string}
* @private
* @type {function(string): string}
* @return {string}
*/
bar: function(baz) {
return baz;
}
整个闭包示例的完整jsDoc示例。 “私人”功能没有@private jsDoc(就像'John'所说的那样)。
/**
* @type {function(): Object}
* @public
*/
var Foo = (function() {
/**
* @type {function(): Object}
* @private
*/
var fn = (function() {
return {
/**
* @param {string} baz Something to alert
*/
bar: function(baz) {
alert(baz);
}
};
})();
return {
/**
* @param {string} label A label string
* @public
*/
doBar: function(label) {
fn.bar(label);
}
}
});