1. // 函数声明法
    2. function run(): string {
    3. return '123';
    4. };
    5. // 匿名函数
    6. const fn = function(): numer{
    7. return 123;
    8. };
    9. // 定义方法传参
    10. function getInfo(name: string, age: number): string {
    11. return `${name}--${age}`
    12. };
    13. alert(getInfo('张三', 22));
    14. // 方法的可选参数
    15. // 注意:可选参数必须配置到参数的最后面
    16. function getInfo(name: string, age?: number): string {
    17. return `${name}--${age}`
    18. };
    19. alert(getInfo('张三'));
    20. // 设置默认参数
    21. function getInfo(name: string, age: number = 22): string {
    22. return `${name}--${age}`
    23. };
    24. alert(getInfo('张三')); // 张三,22
    25. alert(getInfo('张三',33)); // 张三,33
    26. // 剩余参数
    27. function sum(a:number,b:number,...arr:number[]): number {
    28. let sum = a + b;
    29. for(let i = 0; i < arr.length; i++) {
    30. sum += arr[i];
    31. }
    32. return sum;
    33. }
    34. sum(1,2,3,4); // 10
    35. // 函数重载 通过为同一个函数提供多个函数类型定义来试下多种功能的目的
    36. function getInfo(name:string):string;
    37. function getInfo(age:number):number;
    38. function getInfo(str:any):any{
    39. if(typeof str === "string") {
    40. return str;
    41. } else {
    42. return str;
    43. }
    44. }
    45. getInfo('张三'); // 张三
    46. getInfo(12); // 12