美文网首页
TypeScript 函数

TypeScript 函数

作者: 薥劃 | 来源:发表于2021-03-09 14:50 被阅读0次

    函数定义

    function function_name()
    {
        // 执行代码
    }
    

    调用函数

    函数可通过调用才可以执行函数内的代码。

    function_name()

    function test() {   // 函数定义
        console.log("调用函数") 
    } 
    test()   
    

    函数返回值

    function function_name():return_type { 
        // 语句
        return value; 
    }
    
    • eturn_type 是返回值的类型。

    • return 关键词后跟着要返回的结果。

    • 一个函数只能有一个 return 语句。

    • 返回值的类型需要与函数定义的返回类型(return_type)一致。

    // 函数定义
    function greet():string { // 返回一个字符串
        return "Hello World" 
    } 
     
    function caller() { 
        var msg = greet() // 调用 greet() 函数 
        console.log(msg) 
    } 
     
    // 调用函数
    caller()
    

    带参数函数

    function func_name( param1 [:datatype], param2 [:datatype]) {
    }

    • param1、param2 为参数名。

    • datatype 为参数类型。

    function add(x: number, y: number): number {
        return x + y;
    }
    console.log(add(1,2))
    

    可选参数

    function buildName(firstName: string, lastName: string) {
        return firstName + " " + lastName;
    }
     
    let result1 = buildName("Bob");                  // 错误,缺少参数
    let result2 = buildName("Bob", "Adams", "Sr.");  // 错误,参数太多了
    let result3 = buildName("Bob", "Adams");         // 正确
    

    使用可选参数

    function buildName(firstName: string, lastName?: string) {
        if (lastName)
            return firstName + " " + lastName;
        else
            return firstName;
    }
     
    let result1 = buildName("Bob");  // 正确
    let result2 = buildName("Bob", "Adams", "Sr.");  // 错误,参数太多了
    let result3 = buildName("Bob", "Adams");  // 正确
    

    默认参数

    function function_name(param1[:type],param2[:type] = default_value) {
    }

    function calculate_discount(price:number,rate:number = 0.50) { 
        var discount = price * rate; 
        console.log("计算结果: ",discount); 
    } 
    calculate_discount(1000) 
    calculate_discount(1000,0.30)
    

    剩余参数

    不知道要向函数传入多少个参数,这时候可以使用剩余参数来定义。

    function buildName(firstName: string, ...restOfName: string[]) {
    return firstName + " " + restOfName.join(" ");
    }
    let employeeName = buildName("Joseph", "Samuel", "Lucas", "MacKinzie");

    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,10)
    

    匿名函数

    var res = function( [arguments] ) { ... }
    不带参数匿名函数:

    var msg = function() { 
        return "hello world";  
    } 
    console.log(msg())
    

    带参数匿名函数:

    var res = function(a:number,b:number) { 
        return a*b;  
    }; 
    console.log(res(12,2))
    

    构造函数

    var res = new Function ([arg1[, arg2[, ...argN]],] functionBody)

    • arg1, arg2, ... argN:参数列表。
    • functionBody:一个含有包括函数定义的 JavaScript 语句的字符串。
    var myFunction = new Function("a", "b", "return a * b"); 
    var x = myFunction(4, 3); 
    console.log(x);
    

    相关文章

      网友评论

          本文标题:TypeScript 函数

          本文链接:https://www.haomeiwen.com/subject/crhcqltx.html