黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

TypeScript 函數(shù)

TypeScript 函數(shù)

函數(shù)是一組執(zhí)行同一任務(wù)的語句。我們可以把代碼劃分到不同的函數(shù)中,每一個(gè)函數(shù)執(zhí)行一個(gè)特定的任務(wù)來進(jìn)行的。

函數(shù)聲明告訴編譯器函數(shù)的名稱、返回類型和參數(shù)。函數(shù)定義提供了函數(shù)的實(shí)際主體。

 

1. 函數(shù)定義

函數(shù)就是包裹在花括號(hào)中的代碼塊,前面使用了關(guān)鍵詞 function:

語法格式如下所示:

function function_name()
{
    // 執(zhí)行代碼
}

范例

 

function () {   
    // 函數(shù)定義
    console.log("調(diào)用函數(shù)") 
}

 

2. 調(diào)用函數(shù)

函數(shù)只有通過調(diào)用才可以執(zhí)行函數(shù)內(nèi)的代碼。

語法格式如下所示:

function_name()

范例

 

function test() { // 函數(shù)定義
    console.log("調(diào)用函數(shù)") 
} 
test() // 調(diào)用函數(shù)

 

3. 函數(shù)返回值

有時(shí),我們會(huì)希望函數(shù)將執(zhí)行的結(jié)果返回到調(diào)用它的地方。

通過使用 return 語句就可以實(shí)現(xiàn)。

在使用 return 語句時(shí),函數(shù)會(huì)停止執(zhí)行,并返回指定的值。

語法格式如下所示:

function function_name():return_type { 
    // 語句
    return value; 
}
  • return_type 是返回值的類型。
  • return 關(guān)鍵詞后跟著要返回的結(jié)果。
  • 一般情況下,一個(gè)函數(shù)只有一個(gè) return 語句。
  • 返回值的類型需要與函數(shù)定義的返回類型(return_type)一致。

范例

 

// 函數(shù)定義
function greet():string { // 返回一個(gè)字符串
    return "Hello World" 
} 
 
function caller() { 
    var msg = greet() // 調(diào)用 greet() 函數(shù) 
    console.log(msg) 
} 
 
// 調(diào)用函數(shù)
caller()
  • 范例中定義了函數(shù) greet(),返回值的類型為 string。
  • greet() 函數(shù)通過 return 語句返回給調(diào)用它的地方,即變量 msg,之后輸出該返回值。。

編譯以上代碼,得到以下 JavaScript 代碼:

// 函數(shù)定義
function greet() {
    return "Hello World";
}
function caller() {
    var msg = greet(); // 調(diào)用 greet() 函數(shù) 
    console.log(msg);
}
// 調(diào)用函數(shù)
caller();

 

4. 帶參數(shù)函數(shù)

在調(diào)用函數(shù)時(shí),您可以向其傳遞值,這些值被稱為參數(shù)。

這些參數(shù)可以在函數(shù)中使用。

您可以向函數(shù)發(fā)送多個(gè)參數(shù),每個(gè)參數(shù)使用逗號(hào) , 分隔:

語法格式如下所示:

function func_name( param1 [:datatype], param2 [:datatype]) {   
}
  • param1、param2 為參數(shù)名。
  • datatype 為參數(shù)類型。

范例

function add(x: number, y: number): number {
    return x + y;
}
console.log(add(1,2))
  • 范例中定義了函數(shù) add(),返回值的類型為 number。
  • add() 函數(shù)中定義了兩個(gè) number 類型的參數(shù),函數(shù)內(nèi)將兩個(gè)參數(shù)相加并返回。

編譯以上代碼,得到以下 JavaScript 代碼:

function add(x, y) {
    return x + y;
}
console.log(add(1, 2));

輸出結(jié)果為:

3

 

5. 可選參數(shù)和默認(rèn)參數(shù)

1) 可選參數(shù)

在 TypeScript 函數(shù)里,如果我們定義了參數(shù),則我們必須傳入這些參數(shù),除非將這些參數(shù)設(shè)置為可選,可選參數(shù)使用問號(hào)標(biāo)識(shí) ?。

范例

function buildName(firstName: string, lastName: string) {
    return firstName + " " + lastName;
}
 
let result1 = buildName("Bob");                  // 錯(cuò)誤,缺少參數(shù)
let result2 = buildName("Bob", "Adams", "Sr.");  // 錯(cuò)誤,參數(shù)太多了
let result3 = buildName("Bob", "Adams");         // 正確

以下范例,我們將 lastName 設(shè)置為可選參數(shù):

function buildName(firstName: string, lastName?: string) {
    if (lastName)
        return firstName + " " + lastName;
    else
        return firstName;
}
 
let result1 = buildName("Bob");  // 正確
let result2 = buildName("Bob", "Adams", "Sr.");  // 錯(cuò)誤,參數(shù)太多了
let result3 = buildName("Bob", "Adams");  // 正確

可選參數(shù)必須跟在必需參數(shù)后面。 如果上例我們想讓 firstName 是可選的,lastName 必選,那么就要調(diào)整它們的位置,把 firstName 放在后面。

如果都是可選參數(shù)就沒關(guān)系。

2) 默認(rèn)參數(shù)

我們也可以設(shè)置參數(shù)的默認(rèn)值,這樣在調(diào)用函數(shù)的時(shí)候,如果不傳入該參數(shù)的值,則使用默認(rèn)參數(shù),語法格式為:

function function_name(param1[:type],param2[:type] = default_value) { 
}

注意:參數(shù)不能同時(shí)設(shè)置為可選和默認(rèn)。

范例

以下范例函數(shù)的參數(shù) rate 設(shè)置了默認(rèn)值為 0.50,調(diào)用該函數(shù)時(shí)如果未傳入?yún)?shù)則使用該默認(rèn)值:

function calculate_discount(price:number,rate:number = 0.50) { 
    var discount = price * rate; 
    console.log("計(jì)算結(jié)果: ",discount); 
} 
calculate_discount(1000) 
calculate_discount(1000,0.30)

編譯以上代碼,得到以下 JavaScript 代碼:

function calculate_discount(price, rate) {
    if (rate === void 0) { rate = 0.50; }
    var discount = price * rate;
    console.log("計(jì)算結(jié)果: ", discount);
}
calculate_discount(1000);
calculate_discount(1000, 0.30);

輸出結(jié)果為:

計(jì)算結(jié)果:  500
計(jì)算結(jié)果:  300

 

6. 剩余參數(shù)

有一種情況,我們不知道要向函數(shù)傳入多少個(gè)參數(shù),這時(shí)候我們就可以使用剩余參數(shù)來定義。

剩余參數(shù)語法允許我們將一個(gè)不確定數(shù)量的參數(shù)作為一個(gè)數(shù)組傳入。

function buildName(firstName: string, ...restOfName: string[]) {
    return firstName + " " + restOfName.join(" ");
}
  
let employeeName = buildName("Joseph", "Samuel", "Lucas", "MacKinzie");

函數(shù)的最后一個(gè)命名參數(shù) restOfName 以 ... 為前綴,它將成為一個(gè)由剩余參數(shù)組成的數(shù)組,索引值從0(包括)到 restOfName.length(不包括)。

function addNumbers(...nums:number[]) {  
    var i;   
    var sum:number = 0; 
    
    for(i = 0;i<nums.length;i++) {="" sum="sum" +="" nums[i];="" }="" console.log("和為:",sum)="" addnumbers(1,2,3)="" addnumbers(10,10,10,10,10)=""                 
相關(guān)文章