TypeScript学习-类

来源:互联网 发布:手机淘宝首页超链接 编辑:程序博客网 时间:2024/05/16 12:30

先吐槽一下,csdn的博客更新好难啊!书写博客的后台根本打不开,50m的网速都这样,无语了!

今天学习一下TypeScript的方法 function

1、和js中定义function一样例子

function add(x, y) {    return x+y;}var func = function(x, y) {    return x+y;};

2、typeScript中可以添加参数的类型和返回类型,例子

function add(x:number, y:number):number {    return x+y;}var func = function(x:number, y:number):number {    return x+y;};

这里x,y表示什么意思并不是很清楚,所以我们可以采用另外的方式定义方法

var func: (minNumber:number, maxNumber:number)=>number = function(x:number, y:number):number {    return x+y;};

这里x表示最小值,y表示最大值,这样定义方法可以非常明确每个参数的意义,不方便之处就是书写好长。。。。

3、可选参数定义 x?:number ,例子

var func = function(firName:string, lastName?:string):string {    if (lastName) {        return firName +"-"+lastName;    } else {        return firName;    }};

这里的lastName就是可选参数,可有可无
默认参数 比如

function(firName:string, lastName = "lsw") : string {return firName+"-"+lastName}

4、重复参数 …repeatValue:string[]

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

5、lambdas

6、重载

var suits = ["hearts", "spades", "clubs", "diamonds"];function pickCard(x: {suit: string; card: number; }[]): number;function pickCard(x: number): {suit: string; card: number; };function pickCard(x): any {    // Check to see if we're working with an object/array    // if so, they gave us the deck and we'll pick the card    if (typeof x == "object") {        var pickedCard = Math.floor(Math.random() * x.length);        return pickedCard;    }    // Otherwise just let them pick the card    else if (typeof x == "number") {        var pickedSuit = Math.floor(x / 13);        return { suit: suits[pickedSuit], card: x % 13 };    }}var myDeck = [{ suit: "diamonds", card: 2 }, { suit: "spades", card: 10 }, { suit: "hearts", card: 4 }];var pickedCard1 = myDeck[pickCard(myDeck)];alert("card: " + pickedCard1.card + " of " + pickedCard1.suit);var pickedCard2 = pickCard(15);alert("card: " + pickedCard2.card + " of " + pickedCard2.suit);
0 0
原创粉丝点击