Typescript函数

编程都是需要函数的,因为有了函数就能复用很多东西了。不仅仅能够复用代码,还能保持代码的简洁性和提高编程的逻辑性。

在原生的JavaScript中,函数的定义有三种,

function foo() {} // 直接声明
var foo = function() {} // 将函数赋值给变量
var Foo = {
    a : function() {
        
    }
} // 对象函数

那么在typescript当中,又是怎么样的呢?

1、第一种

function foo():string {
    return 'hahaha'
}
var result = foo() // hahaha

这是普通的函数声明,直接返回hahaha

2、第二种,形参

function foo(a:number):string {
    return '这个数字是' + a 
}
var result = foo(18) // 这个数字是18

foo():string,后面的变量告诉该函数返回的是什么值,如果是string则返回的是string类型,如果是:number则返回的是number类型,如果不写,则默认为void类型。

在函数当中,在大括号里写的变量代表的是形参。
正如上诉代码

function foo(a:number):string () {
    
}
// a:number 代表的是形参

var result = foo(18) // 18代表的是实参,实际传入的参数

凡是有一定的JavaScript基础我们都知道,函数体写了几个形参,就必须传入几个参数,多一个少一个都不行,但是,在typescript中,可以选择性的传实参,这点是比较灵活。

有可选参数的函数,采用?标注

function person(age:number, name?:string) {
    
    let a:string = ''
    a = "find" + age + 'years old'

    if(name != undefined) {
        a = a + '' +name
    }

    return  a + 'person'
}

var result = person(18); // find 18 years old
var result1 = person(18, 'does'); 
// find 18 does years old

console.log(result);
console.log(result1);

由上诉的例子可以知道,name作为可选参数,是可传可不传的。体现typescript的灵活性。

返回指定类型的函数

同样的,我们也可以给函数增加一个默认的返回参数。
同样复用上面的代码。

function person(age:number, name?:string):string {
    
    let a:string = ''
    a = "find" + age + 'years old'

    if(name != undefined) {
        a = a + '' +name
    }

    return  a + 'person'
}

var result = person(18); // find 18 years old
var result1 = person(18, 'does'); 
// find 18 does years old

console.log(result);
console.log(result1);

在大括号后面增加:string,默认返回的是string类型的参数

不限参数个数的函数

简单的理解就是,出去逛街的时候,你可以会买一个商品,也可能会买多个商品。所以此时的函数是不确定性的。比如写一个shopping函数

function shopping(...type:string[]):string {
    
    let a:string = "我买到了"
    for(let i = 0; i < type.length; i++) {
        a = a + type[i]
        if(i

转载于:https://www.cnblogs.com/hhopeforlife/p/10153935.html

你可能感兴趣的:(javascript)