轉自:http://www.hubwiz.com/
在TypeScript中定義函數的文法為:
function function_name(arg:number,arg1:number,....):return_type{
code 函數要執行的代碼;
return data;
}
其中 function 為聲明函數的關鍵字,functionname 為自定義函數的名字,arg為參數清單,_return_type為該函數的傳回值類型,code為函數被調用時要執行的代碼,使用return關鍵字傳回資料,data為要傳回的資料,要使用“{}”括起來。函數的調用就很簡單了,如下代碼:
function add(x: number, y: number): number { //定義傳回值為number類型的函數
return x+y;
add(5,6); //調用函數
當然也可以沒有傳回值。
匿名函數
匿名函數是沒有名稱隻有主體的函數,不需要指定傳回類型,它的傳回值類型是從函數主體内的 return 語句推斷的。如下代碼:
var myAdd = function(x:number, y:number) { //定義匿名函數
return x+y;
};
myAdd(3,4); //調用匿名函數
可選與預設參數
可選參數:在參數名後面,冒号前面添加一個問号,則表明該參數是可選的。如下代碼:
function buildName(firstName: string, lastName?: string) { //lastName為可選參數
if (lastName)
return firstName + " " + lastName;
else
return firstName;
}
var result1 = buildName("Bob"); //正确調用 Bob
var result2 = buildName("Bob", "Adams"); //正确調用 Bob Adams
預設參數:在參數名後直接給定一個值,如果這個值沒有被傳入,那麼将會被指派為預設值。如下代碼:
function buildName(firstName: string, lastName = "Smith") {
return firstName + " " + lastName;
var result1 = buildName("Bob"); //沒有傳入第二個參數,則被指派為預設的smith,結果為:Bob Smith