zoukankan      html  css  js  c++  java
  • 3、TypeScript 函数

    介绍

    函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。

        //函数声明法
        function run(){
             return 'run';
        }
        //匿名函数
        var run2=function(){
            return 'run2';
        }
    

    可选参数

    • 在 TypeScript 函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识 ?
    • 可选参数必须跟在必需参数后面。 如果下例我们想让 firstName 是可选的,lastName 必选,那么就要调整它们的位置,把 firstName 放在后面。如果都是可选参数就没关系。
        function  buildName(firstName:string, lastName?:string) {
          if  (lastName)  
            return  firstName + "  " + lastName; 
          else  
            return  firstName;
    }
        buildName("Bob")
        buildName("Bob","Adams")
    

    默认参数

    • 我们也可以设置参数的默认值,这样在调用函数的时候,如果不传入该参数的值,则使用默认参数,语法格式为:
    function function_name(param1[:type],param2[:type]  = default_value)  {  }
    
    • 注意:参数不能同时设置为可选和默认。

    剩余参数

    • 有一种情况,我们不知道要向函数传入多少个参数,这时候我们就可以使用剩余参数来定义。
    • 剩余参数语法允许我们将一个不确定数量的参数作为一个数组传入。
    • 以 ... 为前缀,事例代码:
        function  addNumbers(...nums:number[]) {
            var  i;
            var  sum:number  =  0;
            for(i  =  0;i<nums.length;i++) {
            sum  =  sum  +  nums[i];
            }
            console.log("和为:",sum)
        }
        addNumbers(1,2,3)
        addNumbers(10,10,10,10)
    

    函数重载

    • 重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
    • 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
    • 参数类型不同:
      function disp(string):void;  
      function disp(number):void;
    
    • 参数数量不同:
      function disp(n1:number):void;  
      function disp(x:number,y:number):void;
    
    • 参数类型顺序不同:
      function disp(n1:number,s1:string):void;  
      function disp(s:string,n:number):void;
    
    • 如果参数类型不同,则参数类型应设置为 any
    • 参数数量不同你可以将不同的参数设置为可选。
  • 相关阅读:
    System.currentTimeMillis();
    java中synchronized使用方法
    距离矢量路由协议举例——RIP
    Bulk Insert命令具体
    美国地名大全(美国城市名称英文、中文)
    面试准备系列01----面试中的链表题目汇总
    Introspector(内省)简单演示样例 与 简单应用
    Android APK反编译具体解释(附图)
    MATLAB新手教程
    Nginx+Tomcat7+Mencached负载均衡集群部署笔记
  • 原文地址:https://www.cnblogs.com/lived/p/10745963.html
Copyright © 2011-2022 走看看