• typeScript中的函数


    1.最简单的案例
    var getInfo():string{
    return "Josie"
    };

    2.传参案例
    var getInfo(name:string):string{
    return My name is ${name}
    };
    调用: getInfo("Jocelyn")
    若传可选参数
    var getInfo(name:string,age?:number):string{
    if(age){
    return My name is ${name}, I am ${age} years old
    } else{
    return My name is ${name}, I am 8 years old
    }
    调用:getInfo('Jocelyn',12) 或者 getInfo('Jocelyn')
    若有默认参数
    var getInfo(name:string,age:number=3):string{
    return My name is ${name}, I am ${age} years old
    }
    调用:getInfo('Jocelyn',12) 或者 getInfo('Jocelyn')
    传递可替换,不传递,显示默认数据
    3.剩余参数案例 三点运算符接收形参传递的值
    function sum(...result: number[]): number {
    var sum = 0;
    for (let i = 0; i < result.length; i++) {
    sum += result[i];
    }
    return sum;
    }
    调用:sum(1, 3, 5, 6, 8)
    若此外还带有特地参数
    function sum1(a: number, b: number, ...result: number[]): number {
    var sum = a + b; //此处等于固定参数
    for (let i = 0; i < result.length; i++) {
    sum += result[i];
    }
    return sum;
    }
    sum1(1,3,5,6,8) ------a为1,b为 3, ab必须是number

    // 函数的重载
    // Java中方法的重载:重载是指两个或以上同名函数,但他们的参数不一样,这时会出现函数重载的情况
    // typescript中的重载:通过为同一个函数提供多个函数类型定义来试下多种功能的目的。
    // ts为了兼容es5及es6重载的写法和java中有区别
    // es5中如果出现两个同名的函数,那么第二个函数会替换第一个函数
    // ts中的重载
    function getInfoA(name: string): string;
    function getInfoA(name: number): number;
    function getInfoA(str: any): any {
    if (typeof str === "string") {
    return "i am " + str;
    } else {
    return "i am " + str + ' years old.'
    }
    }
    console.log(getInfoA('amy')) //结果----i am amy
    console.log(getInfoA(22)) //结果----i am 22 years old.

    function getInfoB(name: string): string;
    function getInfoB(name: string, age: number): string;
    function getInfoB(name: any, age?: any): any {
    if (age) {
    return "i am " + name + ', i am ' + age + ' years old';
    } else {
    return "i am " + name
    }
    }
    // console.log(getInfoB('amy', 33)) //结果----i am amy, i am 33 years old
    // console.log(getInfoB('emily')) //结果----i am emily.
    // 结论:同样的方法,传入不同参数,得到不同的结果

  • 相关阅读:
    mysql索引数据结构
    29. 使用参数化编写自动化测试用例
    28. Python编写自动化测试用例
    27. Unittest单元测试框架的介绍与使用
    26. 什么是单元测试
    25. Postman的使用
    24. 接口测试的意义
    23. requests安装与使用
    22. 如何编写接口文档
    21. Blog接口开发
  • 原文地址:https://www.cnblogs.com/jocelyn11/p/14421473.html
Copyright © 2020-2023  润新知