我有返回对象的函数。我希望将他们的jsdoc定义放在webstorm intellisense上查看它们的属性和方法。
我如何编写以下函数的jsdoc?
function MyOtherFunc() {
return { a:'for eg string', b:12 }
}
function MyFunc() {
var prop = MyOtherFunc();
function myMethod() {
alert( 'my method' );
}
function myOtherMethod() {
alert( 'my other method' );
}
// explicitly return public methods when this object is instantiated
return {
someMethod : myMethod,
someOtherMethod : myOtherMethod
};
}
答案 0 :(得分:0)
在没有JSDoc的WebStorm中正确处理了这个确切的情况,但您可以使用closure compiler type syntax:
let s = series [1 => 1.0; 2 => nan]
s.Get(s.LastKey(), Lookup.ExactOrSmaller)
答案 1 :(得分:0)
您应该能够使用@namespace
,@memberof
和@instance
完成您想要的工作。
/**
* @namespace MyFunc
*/
function MyFunc() {
var prop = MyOtherFunc();
/**
* Does myMethody things
*
* @memberof MyFunc
* @instance
*/
function myMethod() {
alert( 'my method' );
}
/**
* Does myOtherMethody things
*
* @memberof MyFunc
* @instance
*/
function myOtherMethod() {
alert( 'my other method' );
}
// explicitly return public methods when this object is instantiated
return {
someMethod : myMethod,
someOtherMethod : myOtherMethod
};
}
如果MyFunc
有任何静态方法,您只需关闭@instance
或用@static
明确标记。
/**
* Say hello
*
* @param {string} [name] - Who to say hello to
* @memberof MyFunc
* @static
*/
MyFunc.helloWorld = function (name) {
console.log('Hello ' + (name || 'world'));
}
在这种情况下,使用@memberof
和@static
应该是可选的。解析器应该能够自己解决这个问题;但是,您可能希望明确地使用它们,以使任何阅读代码的人都能明白。