前言
臭寶們終于來到了ArkTS基礎之函數,今天我們來學習一下ArkTS的函數的相關知識,上一節中也有一些函數的基礎知識。
函數聲明
函數聲明引入一個函數,包含其名稱、參數列表、返回類型和函數體,在下面的例子中,我們聲明了一個名為add的函數,它有兩個number類型的參數和一個返回類型為number的結果。
function add(a: number, b: number): number {return a + b;
}
函數的作用域
函數中定義的變量和其他實例僅可以在函數內部訪問,不能從外部訪問。
如果函數中定義的變量與外部作用域中已有實例同名,則函數內的局部變量定義將覆蓋外部定義。
函數調用
函數調用時,需要傳入正確的參數。
add(1, 2); // 返回3
箭頭函數
箭頭函數是ES6中引入的,它提供了一種更簡潔的方式來編寫函數表達式。
const add = (a: number, b: number): number => {return a + b;
};
閉包
閉包是由函數及聲明該函數的環境組合而成的。該環境包含了這個閉包創建時作用域內的任何局部變量。
在下例中,f函數返回了一個閉包,它捕獲了count變量,每次調用z,count的值會被保留并遞增。
function f(): () => number {let count = 0;let g = (): number => { count++; return count; };return g;
}let z = f();
z(); // 返回:1
z(); // 返回:2
函數重載
ArkTS支持函數重載,即同一個函數可以有多個定義。注意,兩個函數的參數必須不同。
function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {if (typeof a === 'string' || typeof b === 'string') {return `${a}${b}`;} else {return a + b;}
}add(1, 2); // 返回3
add('hello', 'world'); // 返回"helloworld"
結尾
臭寶們,今天的內容就到這里了,快去試試吧!