TypeScript筆記(四)函式

2021-10-03 04:47:30 字數 2124 閱讀 4357

首先看在es5中定義函式的方法

/*

//函式宣告法

function run()

//匿名函式

var run2 = function()

*/

然後看ts中定義函式的方法

//函式宣告法

// function run():string

//錯誤寫法

// function run():string

//匿名函式

// var fun2 = function():number

// alert(fun2());/*呼叫方法 */

呼叫方法這裡無法彈窗,未解決問題

發現問題所在,沒有啟動自動生成js**,所以無效果

在終端-執行任務-監視。。。然後重新整理網頁,效果出現

然後看ts中定義方法傳參

和上面一樣也有函式名和匿名

//函式名

function getinfo( name:string,age:number ):string

alert ( getinfo('zhangsan',20));

//匿名

// var getinfo=function(name:string,age:number):string

// alert(getinfo('zhangsan',40));

//沒有返回值得方法

// function run():void

// run();

//es5裡面的實參和行參可以不一樣,但是ts中必須一樣,如果不一樣就需要配置可選引數
function getinfo( name:string,age?:number ):stringelse   

}alert ( getinfo('zhangsan',20));

注意:可選引數必須配置到引數的最後面

在age後面加了乙個問號就表示可選引數。

資料繫結出不來,完蛋玩意。

function getinfo( name:string,age:number=20 ):stringelse   

}alert ( getinfo('zhangsan'));//正常情況會彈出zhangsan --- 20

alert ( getinfo('zhangsan',123));//依舊會彈出zhangsan --- 123

這就是預設引數

function sum(a:number,b:number,c:number,d:number):number

alert(sum(1,2,3,4));

這樣彈出結果是10

有乙個叫做三點運算子,接受新參傳過來的值

function sum(...result:number):numberelse

}//alert(getinfo('張三'));彈出我叫張三

//alert(getinfo(20));彈出我的年齡是20

//alert(getinfo(true));//錯誤寫法,因為沒找到這個型別的參

同樣的過載,傳入的方法不同,實現不同的功能

還有一種寫法

function getinfo(name:string,age:number):string;

function getinfo(name:any,age?:any):anyelse

}//alert(getinfo('張三'));

//alert(getinfo(123));//錯誤的寫法

//alert(getinfo('張三',20));

// //這是以前es5的寫法

// settimeout(function(),1000)

//需要注意的是this指向的問題,箭頭函式裡面的this指向上下文

// settimeout(() => , timeout);

筆記 TypeScript函式語法

宣告方式function 函式名 資料型別let 函式名 function 資料型別function 函式名 引數1 資料型別,引數2 資料型別 返回值資料型別function 函式名 引數1 資料型別,引數2 資料型別 返回值資料型別function 函式名 引數1 資料型別,引數2 資料型別 預...

typescript基礎 函式

函式的輸入輸出要進行型別的定義,函式的引數一旦定義好以後,輸入多或者少都是會編譯報錯的,返回型別也必須跟定義的一致 1 function fun a string,b number number 2 這種寫法只對右側的匿名函式進行了型別定義,左側的funs只能通過型別推斷得出 const funs ...

Typescript學習筆記

物件導向特性 類類的宣告 用class關鍵字 加類名 class person 類宣告完之後就可以被例項化了,類相當於乙個模子.name string eat var p1 new person p1.name batman p1.eat var p2 new person p2.name supe...