• 2022/05/09 TypeScript_Study_Day6


    # 2022/05/09 TypeScript_Study_Day6

    ### TypeScript函数

    #### 纲要

    > - 函数定义和调用
    > - 可选参数和默认参数
    > - 可变参数
    > - 匿名函数
    > - 自调用函数
    > - 构造函数
    > - `Lambda`表达式
    > - 函数重载
    ---

    ##### 函数定义和调用

    **函数定义:**

    `
    // Public function to access a function inside a class
    function getName(wName:string):string {
    // Instantiate the class object
    var targetObject = new Login(); // When you declare a local variable need declare it is a "var"
    // Call the function of the object
    loginName = targetObject.getName(wName);
    console.log(loginName);
    return loginName;
    }
    `

    包括:函数名、形参、返参

    **函数调用:**

    `
    // Call the function
    getName("Lucifer");
    `

    ##### 可选参数和默认参数

    **可选参数声明:**

    `
    // Provide access methods
    async function getName(nName?:string):string {
    this.setName(nName);
    return this.loginName;
    }
    `

    **默认参数声明:**

    `
    // Provide construction methods
    asycn function setName(setName: string = "Lucifer"):void {
    this.loginName = setName;
    }
    `

    ##### 可变参数

    **将参数声明称可变的索引数组形式:**

    `
    function buildName(firstName: string, ...restOfName: string[]) {
    return firstName + " " + restOfName.join(" ");
    }
    `

    ##### 匿名函数

    **闭包的写法: ---> 将函数声明成一个变量**

    `
    var msg = async function getMsg(str:string = "Lucifer"): Promise<string> {
    return str;
    }
    `

    **调用的时候直接使用变量即可:**

    `
    console.log(msg())
    `

    ##### 自调用函数

    `
    (function (T) {
    switch (T) {
    case "string":
    console.log("string");
    break;
    default:
    break;
    }
    })()
    `

    ##### 构造函数

    `JavaScript`内置的构造函数`Function()`

    `
    var myFunction = new Function("a", "b", "return a * b");
    var x = myFunction(4, 3);
    console.log(x);
    `

    #### Lambada表达式(和`java`当中的Lambada长得还是挺不像的)

    `
    var foo = () => {
    return true;
    }
    `

    底层是函数式编程

    #### 函数重载

    `ts`支持函数重载,简单来说就是存在同名但是不同参数的函数

    `
    function disp(s1:string):boolean {
    return true;
    }

    function disp(n1:number,s1:string):string {
    return n1 + s1;
    }
    `

  • 相关阅读:
    redhat 5 中文乱码
    生成树
    交换机端口模式
    链路聚合
    AP注册
    信息收集
    Python 25 Django跨域请求
    Python 24 Django之csrf中间件
    Python 23 Django基础
    Python 21 Flask(三)第三方组件
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/16573288.html
Copyright © 2020-2023  润新知