2012-08-15 31 views
6

我想記錄一個函數發生器,但沒有成功,這是一個例子:如何用jsdoc記錄函數發生器?

function genericObjectGenerator(tagname) { 
    var specificObject = function() {}; 

    specificObject.getClassName = function() { 
    return tagname; 
    } 

    specificObject.prototype.sayHello = function(name) { 
    return tagname + " says hello to " + name; 
    } 

    return specificObject; 
} 

var MyObject = genericObjectGenerator("object1"); 

var myObjectInstance = new MyObject(); 

myObjectInstance.sayHello(); 

我應該怎麼記錄的genericObjectGenerator及其specificObject功能,以獲得JSDoc(和IntelliJ)妥善解決的sayHello 。

+1

反模式需要更多的挫折。 – katspaugh 2012-08-15 18:49:38

回答

0

這應該做的伎倆

/** 
* @param {string} tagname - the name of the tag 
* @returns {specificObject} 
*/ 

function genericObjectGenerator(tagname) { 
    var specificObject = function() {}; 

    specificObject.getClassName = function() { 
     return tagname; 
    }; 

    /** 
    * @param {string} name - name as string 
    * @returns {string} 
    */ 

    specificObject.prototype.sayHello = function(name) { 
     return tagname + ' says hello to ' + name; 
    }; 

    return specificObject; 
} 

var MyObject = genericObjectGenerator('object1'); 

var myObjectInstance = new MyObject(); 

myObjectInstance.sayHello(123); // mark as warning 
myObjectInstance.sayHello('123'); // not marking 
相關問題