03_TypeScript函数

1、函数的定义

  es5定义函数的方法

//函数声明法
function run(){
    return 'run';
}
//函数表达式
var run = function(){
    return 'run2';
}

  ts中定义函数的方法

//函数声明法(返回值为string)
function run():string{
    return 'run';
}
//函数表达式(返回值为numbet)
var run = function():number{
    return 123;
}
//没有返回值的方法
function run():void{
    console.log('run')
}

   ts中定义方法传参(参数需要定义数据类型)

//函数声明法
function getInfo(name:string,age:number):string{
        return `${name} --- ${age}`;
}
//函数表达式
var getInfo = function(name:string,age:number):string{
    return `${name} --- ${age}`;
}

2、可选参数

//可选参数后加问号,可选参数必须配置到参数的最后面
function getInfo(name:string,age?:number):string{
    if(age){
        return `${name} --- ${age}`;
    }else{
        return `${name}`;
    }
}
//age 这个参数可传可不传
getInfo('zhangsan')
getInfo('zhangsan',123)

3、默认参数 

function run(name:string,age:number=20):string{
    return `${name}---${age}`;
}

 4、剩余参数(...)

function sum(...result:number[]):number{
    var sum = 0;
    for(var i=0;i<result.length;i++){
        sum+=result[i];
    }
    return sum;
}
alert(sum(1,2,3,4))

5、函数重载

java中方法重载:重载指的是俩个或者俩个以上同名函数,但他们的参数不一样,这时候会出现重载的情况。

typescript中重载:通过为同一个函数提供多个函数类型定义来试下多种功能的目的。

function getInfo(name:string):string;
function getInfo(age:number):number;
function getInfo(str:any):any{
    if(typeof str==='string'){
        return '我叫:'+ str
    }else{
        return '年龄:'+ str
    }
}
getInfo('张三')
getInfo(20)

猜你喜欢

转载自www.cnblogs.com/MaShuai666/p/12354123.html