zoukankan      html  css  js  c++  java
  • TS之函数及函数传参

    以实例的形式展示

    1.ts定义函数

    //1 普通用法
    function run(): string {
      return 'run';
    }
    
    // function run1(): string {
    //   return 111;  //报错
    // }
    
    //2 匿名函数方式
    let fun1 = function (): number {
      return 123;
    }
    console.log(fun1());

     2.函数传参

    (1)传递等量参数

    function getInfo(uname: string, age: number): string {
      return `${uname}---${age}`;
    }
    console.log(getInfo('lisi', 12));

     (2)可选参数 (使用?)

    // 可选参数
    function getInfo(uname: string, age?: number): string {
      if (age) {
        return `${uname}---${age}`;
      } else {
        return `${uname}---年龄保密`
      }
    }
    console.log(getInfo('lisi', 12));
    console.log(getInfo('lisi'));

    (3)默认参数

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

    (4)剩余参数

      ①普通写法

    function sum(a: number, b: number, c: number, d: number): number {
      return a + b + c + d;
    }
    console.log(sum(1, 2, 3, 4));

      ②三点运算符

    function sum1(...res: number[]): number {
      return res.reduce((p, e, i, a) => {
        return p + e;
      }, 0)
    }
    console.log(sum1(1, 2, 3, 4, 5));

    (5)函数重载

    js的函数重载,是通过为同一函数提供多个函数类型定义来实现多种功能的目的

    function getInfo(nam: string): string;
    function getInfo(age: number): number;
    function getInfo(str: any): any {
      if (typeof str === 'string') {
        return `我叫:` + str;
      } else {
        return `年龄:` + str;
      }
    };
    
    console.log(getInfo('张三'));
    console.log(getInfo(25));
    console.log(getInfo(错误));  //错误
  • 相关阅读:
    输入输出重定向
    进程管理
    普通变量_环境变量_环境变量配置文件
    高级文件操作命令_文件查找
    软件包管理_rpm命令管理_yum工具管理_文件归档压缩_源码包管理
    用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限
    字符串是否包含中文
    SQL 优化
    JS数组
    RedisUtil 工具类
  • 原文地址:https://www.cnblogs.com/codexlx/p/12768132.html
Copyright © 2011-2022 走看看