我正在做一个小组项目,我想记录我的代码。但是我不知道如何记录可以接受不同数量参数的函数。类似于以下代码:
/**
* 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属性)来对其进行初始化。有没有记录这种功能的方法?