TypeScript---函数

TypeScript---函数

 

1. 函数声明

/函数

//es5匿名函数
function run4() {
    return 'run4';
}
console.log(run4);


var run5 = function () {
    return 'run5';
}
console.log(run5);


//es6
const aa1 = (() => {
    return 'run'
})
console.log(aa1);

 

2. TS中定义函数的方法

//函数声明-命名函数
function run6(): string {
    return '234'
}
//函数声明-匿名函数
var fun2 = function (): number {
    return 456
}

 

3. 调用

alert(fun2());

 

4. ts中定义方法传参

//命名函数
function getInfo(name: string, age: number): string {
    return `姓名:${name}---${age}岁`
}
alert(getInfo('小红', 32));

 

//匿名函数
var getInfo = function (name: string, age: number): string {
    return `姓名:${name}, 年龄${age}岁`
}
alert(getInfo("小红", 44));

 

//没有返回值的方法
function fun3(): void {
    console.log('fun3');
}
fun3();

 

5. 可选参数 加?配置可选参数
 
function getInfo1(name: string, age?: number): string {
    return `${name}---${age}`;
}
alert(getInfo1('张三丰', 44));

 

6. 默认参数

function getInfo2(name: string, age: number = 30): string {
    return `${name}---${age}`;
}
alert(getInfo2('张三丰'));

 

7. 剩余函数 三点运算符

function sum(a: number, ...result: number[]) {
    var sum = 0;
    for (var i = 0; i < result.length; i++) {
        sum += result[i];
    }
    return sum;
}

console.log(sum(1, 2, 3, 4, 5, 6, 7));

 

8. ts中的函数重载

//ts中的函数重载, 参数不一样
function getInfo3(name: string): string;
function getInfo3(age: number): string;
function getInfo3(str: any): any {
    if (typeof str === 'string') {
        return '我叫:' + str;
    } else {
        return '我的年龄是' + str;
    }
}

//alert(getInfo3('张三'));
alert(getInfo3(24));

 

9. ts中的函数重载, 参数一样

function getInfo5(name: string): string;
function getInfo5(name: string, age?: number): string;
function getInfo5(name: any, age?: any): any {
    if (age) {
        return `我叫:${name},我的年龄是${age}`;
    } else {
        return `我叫:${name}`;
    }
}
// console.log(getInfo5("张丹", 34));
console.log(getInfo5('大王'));

 

//箭头函数 es6  this指向上下文
setTimeout(() => {
    console.log('happy箭头函数');
}, 1000);

 

 

 

 

 

 

 

 
posted @ 2020-04-29 13:59  jane_panyiyun  阅读(250)  评论(0编辑  收藏  举报