[TypeScript语法]第二章:函数

函数

定义函数

//定义函数
function run():string{
    return 'hello world';
}
//函数调用
run();

匿名函数

var fun2=function():number{
    return 123;
}
alert(fun2);

方法传参

function getInfo(name:string,age:number):string{
    return `${name}---${age}`;
}
alert(getInfo('张三',20));

没有返回值的方法

function run():void{
    console.log('run');
}
run();

可选参数

//?通过问号配置,可选参数必须放在后面
function getInfo(name:string,age?:number):string{
        return `${name}---${age}`;
}
console.log(getInfo('张三'));//张三---undefined
console.log(getInfo('张三',25));//张三----25

默认参数

//设置默认参数的即使不传参数也不会报错
function getInfo(name:string,age:number=20):string{
    return `${name}---${age}`;
}
console.log(getInfo('张三'));//张三---20
console.log(getInfo('张三',25));//张三---25

剩余参数

// 三点运算符接受形参传过来的值
function sum(a:number,...result:number[]):number{
    var sum=a;
    for(var i=0;i<result.length;i++){
        sum+=result[i];
    }
    return sum;
}
alert(sum(1,2,3,4));

函数重载

function getInfo(name:string):string;
function getInfo(age:number):string;
function getInfo(str:any):any{

    if(typeof str==='string'){
        return '我叫'+str;
    }else
    {
        return '我的年龄是'+str;
    }

}
console.log(getInfo('zhansan'));//正确重载第一个方法
console.log(getInfo(25));///正确重载第二个方法
//alert(getInfo(true));//错误,没法重载

箭头函数

//this指向的问题 箭头函数里面的this指向上下文
setTimeout(() => {
    alert('run');
}, 1000);

posted @ 2021-02-17 17:19  漫游者杰特  阅读(50)  评论(0编辑  收藏  举报