Javascript 特殊单例模式的JSDoc

Javascript 特殊单例模式的JSDoc,javascript,phpstorm,webstorm,jsdoc,Javascript,Phpstorm,Webstorm,Jsdoc,我有一个特殊的JS单例原型函数 模式看起来或多或少像下面的示例。工作很好,完成了任务,但遗憾的是PhpStorm对自动完成和其他有用的东西完全视而不见 如何告诉使用JSDoc的IDE,新项将导致使用ItemPrototype生成新对象,这样新项(1).getId()将指向代码中正确的位置 提前感谢您抽出时间 var项=(函数(){ var singletonCollection={}; var ItemPrototype=函数(id){ this.getId=函数(){ 返回id; }; 归还

我有一个特殊的JS单例原型函数

模式看起来或多或少像下面的示例。工作很好,完成了任务,但遗憾的是PhpStorm对自动完成和其他有用的东西完全视而不见

如何告诉使用JSDoc的IDE,新项将导致使用ItemPrototype生成新对象,这样新项(1).getId()将指向代码中正确的位置

提前感谢您抽出时间

var项=(函数(){
var singletonCollection={};
var ItemPrototype=函数(id){
this.getId=函数(){
返回id;
};
归还这个;
};
var构造函数=函数(id){
如果(!(单音集合中的id)){
singletonCollection[id]=新的ItemPrototype(id);
}
返回singletonCollection[id];
};
返回构造函数;

})();您可以尝试以下操作:

/**
 * A description here
 * @class
 * @name Item
 */
var Item = (function(){
    var singletonCollection = {};

    var ItemPrototype = function(id){
        /**
         * method description
         * @name Item#getId
         */
        this.getId = function() {
            return id;
        };

        return this;
    };

    var Constructor = function(id){
        if (! (id in singletonCollection)) {
            singletonCollection[id] = new ItemPrototype(id);
        }

        return singletonCollection[id];
    };

    return Constructor;
})();

对不起,您能更正您的代码片段吗?语法看起来不正确。当然,编辑了原始帖子。效果很好,但在每个方法中添加
@name
会让人恼火。不过,检查了它,就足以将
@name
项添加到ItemPrototype文档中。谢谢你的帮助!