美文网首页
03. typescript函数定义

03. typescript函数定义

作者: DDLH | 来源:发表于2019-11-15 16:40 被阅读0次
  1. 函数定义

    function run():string{
        return 'dsdsd';
    }
    console.log(run());

    // 匿名函数
    var fun2 = function():number{
        return 234;
    }
    console.log(fun2());

2.定义方法传参

    
    function getInfo(name:string,age:number):string{
        return `${name} --- ${age}`;
    }
    console.log(getInfo('zhangshan',34));

    var getInfo2 = function(name:string,age:number):string{
        return `${name} --- ${age}`;
    }
    console.log(getInfo('zhangshan',134));

  1. 方法可选参数 (可选参数必须配置在参数最后面)
    function getInfo3(name:string,age?:number):string{
        if(age){
            return `${name} --- ${age}`;
        }else{
            return `${name} --- 年龄保密`;
        }
        
    }
    console.log(getInfo3('zhangshan',34));

  1. 默认参数

    function getInfo4(name:string,age:number=20):string{
        if(age){
            return `${name} --- ${age}`;
        }else{
            return `${name} --- 年龄保密`;
        }
        
    }
    console.log(getInfo4('zhangshan'));
    console.log(getInfo4('zhangshan', 30));

  1. 剩余类型
    function sum(a:number,b:number,c:number):number{
        return a+b+c;
    }
    console.log(sum(1,2,3));



    // 三点运算符 接受新参传过来的值

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


    function sum2(a:number, ...result:number[]):number{
        var sum = a;
        for(let i = 0; i < result.length; i++){
            sum+=result[i];
        }
        return sum;
    }
    console.log(sum2(11, 1,2,3));
  1. 函数重载 同样的方法传入不同的参数执行同样的方法
    function funInfo(name:string):string;

    function funInfo(age:number):string;

    function funInfo(str:any):any{

        if(typeof str === 'string'){

            return '我叫:' + str;
        }else{

            return '我的年龄是:' + str;
        }

    }

    console.log(funInfo(43));

    console.log(funInfo('ayana'));

    // console.log(funInfo(true)); // 错误写法
  1. 箭头函数 this指向上下文

    setTimeout(() => {
        console.log('延迟1秒');
    }, 1000);

相关文章

网友评论

      本文标题:03. typescript函数定义

      本文链接:https://www.haomeiwen.com/subject/ivesictx.html