TypeScript中有關函式的知識

2021-10-01 21:01:43 字數 1589 閱讀 5239

// 關鍵字宣告

function add(a:number,b:number):number

// 表示式宣告

let addnumber = function(a:number,b:number):void

addnumber(10,12); //使用

add(10,33); //使用

//宣告帶有可選引數的函式,可選引數必須位於確定引數之後

let addn = function(a:number,b:number,c?:number):void

addn(10,11);

addn(10,11,12);

應該注意,函式的引數個數,引數型別,返回值型別,要保持和宣告時一樣。否則報錯。

let sub:(a:number,b:number)=>number=function(x:number,y:number):number

let sub1:(a:number,b:number)=>number=function(x:number,y:number):void

我的理解:箭頭後面這個number代表函式返回值的型別,與後面匿名函式的返回值型別應該保持一致。

inte***ce fn

let addtwo:fn;

addtwo = function(a,b):string

addtwo = function(a,b):number

let addnumber = function(a:number,b:number=1):void
可以給引數指定預設值

剩餘引數實際上是陣列。

function fun(array:any,...rest:any):void

fun([1,3],1,3,4,5,6,6); //134566

我認為這種方式可以在ts中宣告不定長引數函式。

定義:函式的過載是對函式傳不同引數而進行不同處理的方式。

function thisadd(x:number|string):number|stringelse

}console.log(thisadd(2));

console.log(thisadd("3"));

function subl(x:number):string; //另一種實現過載的語法

function subl(x:string):number;

function subl(x:boolean):boolean;

function subl(x:boolean|number|string):boolean|number|string

console.log(typeof subl(1)); //number

console.log(typeof subl("1")); //string

console.log(typeof subl(true)); //boolean

注意,ts 會從最前面的函式定義開始匹配,所以多個函式定義如果有包含關係,需要優先把精確的定義寫在前面.嗯加油

matlab中有關ros的函式

rosinit 開啟連線 rosshutdown 斷開連線 rospublisher 定義發布節點 rostype 包含大部分自帶的訊息型別 如std msgs等 例 nh rospublisher package nodename rostype.std msgs twist rosmessage...

Android中有關檔案儲存的函式

一 context 中關於內部儲存的 重要函式 public abstract file getcachedir 該目錄主要用於存放快取檔案,當系統的記憶體儲存空間緊張時,該目錄下的檔案會被刪除掉。關於這些檔案 究竟會在 儲存空間剩餘多少的情況,沒有嚴格的標準保障.備註 你不應該依賴系統來清理這些快...

MATLAB中有關通訊的庫函式

1.hadamard h hadamard n 返回n階的hadamard方陣,最低階的h是2階,階數必須是2的冪,h h n i i是n n大小的單位陣。高於2階的h矩陣的階數一定是4的倍數,反過來不一定存在。阿達碼矩陣的每一行和每一列都是乙個正交碼組,整個h矩陣就是乙個長為n的正交編碼,它包含n...