我应该如何记录接受不同数量参数的函数

时间:2018-12-11 02:59:57

标签: javascript jsdoc

我正在做一个小组项目,我想记录我的代码。但是我不知道如何记录可以接受不同数量参数的函数。类似于以下代码:

/**
 * A random custom Window
 * @class
 * @property {Number} x - X position
 * @property {Number} y - Y position
 * @property {Number} width  - width of window
 * @property {Number} height - height of window
 */
class MyWindow{
  /**
   * Plz help
   */
  constructor(...args){
    // new MyWindow(x, y, width, height)
    if(args.length == 4){
      this.x      = args[0];
      this.y      = args[1];
      this.width  = args[2];
      this.height = args[3];
    }
    // new MyWindow( {A Rect Object} )
    else if(args.length == 1){
      this.x      = args[0].x;
      this.y      = args[0].y;
      this.width  = args[0].width;
      this.height = args[0].height;      
    }
    else{
      throw new Error("Arguments given are unacceptable")
    }
  }
}

可以通过传递(x,y,宽度,高度)或预定义的Rect对象(包含x,y,w,h属性)来对其进行初始化。有没有记录这种功能的方法?

0 个答案:

没有答案