zoukankan      html  css  js  c++  java
  • TypeScript学习: 三、TypeScript 中的函数

    TypeScript学习: 三、TypeScript 中的函数

      ES5的函数定义

    // 匿名函数
    var run1 = function() {
    
    }
    // 函数声明
    function run2() {
    
    }

     typeScript

    // 返回类型需要定义,定义了返回number类型,函数的返回也必须是该number类型
    function run():number{
        return 123;
    }
    // 参数类型也是一样,必须定义类型
    function run(a:number, b:number):number{
        let c = a + b;
        return c;
    }

     typeScript会验证你定义函数的参数类型,和返回类型

    没有返回值

          

    function run(a:number|string, b:number):void{
        let c = `a参数${a} --- b参数${b}`;
    }
    run(1,2);

    方法可选参数

      ES5 中 方法的实参和行参可以不一样, 但是TS中必须一样,如果不一样,就需要配置,可选参数,添加一个问号

           

     默认参数,在ES5中无法设置默认参数,在ES6和typeScript才可以设置默认参数

      默认参数必须配置到参数的最后面,可选参数也是一样

    给参数b指定默认值10

         

    剩余参数

      比如要算几个数字的和

    如果要算的数字和,比较多,那么,函数的参数就需要很多个,如果要算的数字有多少个,我们不知道,这时可以使用剩余参数方法,三点运算符

    剩余参数,还可以添加其他参数

    函数重载

    javaScript 中没有函数重载的说法,如果出现函数名一样方法,后面定义的会覆盖前面的

    java 中方法重载,指 两个或者两个以上的同名函数,但函数之间的参数不一样,赋予不同的参数就会调用不同的方法实现不同功能,实现了方法重载

    TypeScript 中的重载和java的类似, 通过同一个函数提供多个函数类型定义来实现多种功能,方法重载让JavaScript语言更走向面向对象

    TypeScript 的重载为了兼容ES5和ES6 和java 使用区别的

    参数个数不同的写法,使用可选参数符号实现

     错误写法

     箭头函数, ES6写法

    // ES5写法
    setTimeout(function() {
        console.log("run");
    }, 1000)
    // ES6写法
    setTimeout(() => {
        console.log("run");
    }, 1000)
    
    // 箭头函数this指向问题: 箭头函数里面的this指向上下文
  • 相关阅读:
    数论-FTT 和 NTT
    数论-FFT高精度乘法
    树链剖分-模板题 HAOI2015
    图论-最小生成树模板
    图论-次短路求法
    图论-某图论专练 Round3 (April, 2018)
    动规-某动规专练 Round1 (April, 2018)
    动规-某动规专练 Round2 (April, 2018)
    Java IO: 并发IO
    Java IO: Reader And Writer
  • 原文地址:https://www.cnblogs.com/yangWanSheng/p/15025545.html
Copyright © 2011-2022 走看看