(精华2020年6月2日更新) TypeScript函数详解

//函数声明
function run():string{
    return 'run'; 
    // return 123;  //错误
}

//函数表达式
var run2=function test():number{
    return 123;
}
alert(run2());

//方法传参
function getInfo(name:string,age:number):string{
  return `${name} ----${age}`;
}

alert(getInfo('alice',20))

//没有返回值的方法
function run3():void{
   console.log('run3')
}
run3()
// 注意:可选参数必须配置到参数的最后面


 function getInfo(name:string,age?:number):string{
   
    if(age) {
        return `${name} ----${age}`;
    } else {
        return `${name} ----年龄保密`;
    }
  } 
  //默认参数


function getInfo(name:string,age:number=20):string{
    return `${name} ----${age}`;
  }
  //三点运算符 接受新参传过来的值
// 注意多个参数的,不能传入一个数据

function sum2(...result:number[]):number {

    var sum = 0;
    for(var i=0;i<result.length;i++) {
        sum+= result[i];
    }
     return sum;
}

alert(sum2(1,2,3,4,8,9)) 


function sum3(a:number,b:number,...result:number[]):number {

    var sum = a+b;
    for(var i=0;i<result.length;i++) {
        sum+= result[i];
    }
     return sum;
}

// alert(sum3(1,2,3,9))
var arr04:number[] = [3,9,8];
var p2 = sum3(1,2,...arr04)
console.log('p2:'+p2)


// ts中的重载

function getInfo(name:string):string;
function getInfo(age:number):string;

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

alert(getInfo('张三')); // 正确
alert(getInfo(20)); // 正确 


type str= string; //类型别名
var username:str = 'laney';

function fun6(name:str):str{
   return 'hello ' +name;
}
alert(fun6(username))

type abc = string | number[];
type num = number;

function fun7(a:abc):num{
    return a.length;
}

alert(fun7([1,2,3])); 

猜你喜欢

转载自blog.csdn.net/weixin_41181778/article/details/106507657
今日推荐