1、有名函数和匿名函数
            
            
              javascript
              
              
            
          
          // 有名函数,形参设置为number类型,返回值也为number类型
function add(x: number, y: number): number {
  return x + y;
}
console.log(add(1, 2)); // 3
//匿名函数,形参设置为number类型,返回值也为number类型
let myAdd = function (x: number, y: number): number {
  return x + y;
}
console.log(myAdd(2, 2)); // 4
        2、函数的可选参数
参数名旁使用(?)实现可选参数功能,例如,函数中y参数可选。
            
            
              javascript
              
              
            
          
          function add(x: number, y?: number): number {
  if (y) {
    return x + y;
  } else {
    return x;
  }
}
console.log(add(1)); // 1
console.log(add(1, 2)); // 3
        3、函数的剩余参数
使用(...)定义, 剩余参数会被当作个数不限的可选参数。可以一个都没有,也可以有任意个。
            
            
              javascript
              
              
            
          
          function add(x: number, ...y: number[]): number {
  if (y.length) {
    let sum = x;
    for (let i = 0; i < y.length; i++) {
      sum += y[i];
    }
    return sum;
  } else {
    return x;
  }
}
console.log(add(1)); // 1
console.log(add(1, 2, 3, 4, 5)); // 15
        4、箭头函数
            
            
              javascript
              
              
            
          
          const add = (x: number, ...y: number[]): number => {
  if (y.length) {
    let sum = x;
    for (let i = 0; i < y.length; i++) {
      sum += y[i];
    }
    return sum;
  } else {
    return x;
  }
}
console.log(add(1)); // 1
console.log(add(1, 2, 3, 4, 5)); // 15