簡單舉例:
/**
* 翻轉一個字符串
*
* @param {String} 輸入需要翻轉的字符串
* @return {String} 翻轉后的字符串
**/
var reverse = function (input) {
//...
return output;
};
YUIDoc范例:
完整范例:本程序由一個文件(app.js)組成,該文件僅有一個模塊(myapp)。
app.js:
/**
* 我的javascript應用程序
*
* @module myapp
*/
//使用命名空間來定義一個空對象
var MYAPP = {};
//定義一個包含兩個方法(sum()和multi())的math_stuff對象
/**
* @namespace MYAPP
* class math_stuff
*/
MYAPP.math_stuff = {
/**
* Sums two numbers
*
* @method sum
* param {Number} 是第一個數(shù)
* param {Number} 是第二個數(shù)
* return {Number} 兩個輸入的總和
*/
sum: function (a, b) {
return a + b;
},
/**
* Multiplies two numbers
* param {Number} 是第一個數(shù)
* param {Number} 是第二個數(shù)
* return {Number} 兩個輸入相乘后結果
*/
multi: function (a, b) {
return a * b;
}
};
@namespace:這里用于命名包含以上對象的全局引用的名稱
@class:這里有些命名不當,他實際意思是指對象或者構造函數(shù)
@method:定義對象中的方法和方法名
@param:列舉函數(shù)所使用的參數(shù)。其中將參數(shù)類型用大括號括起來,并在其后注釋參數(shù)名及描述。
@return:類似于@param,這里用于描述返回值的,并且該方法沒有名稱。
@constructor:表明這個“類”實際上是一個構造函數(shù)
@property和@type描述了對象的屬性。
更多建議: