首先看在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...