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);