0
我有一個名爲Vec的類。 (矢量)製作新對象時使用不同類型的參數
function Vec (x_or_vec,y) {
this.x;
this.y;
switch (arguments.length) {
case 0:
this.x = 0;
this.y = 0;
break;
case 1:
this.x = x_or_vec.x;
this.y = x_or_vec.y;
break;
default:
this.x = x_or_vec;
this.y = y;
}
}
有時候我想打一個新的對象,而無需指定任何有關它的信息,那麼,我想x和y是零。其他時候,我想輸入一個矢量來複制新的矢量,有時我想指定新矢量的x和y座標。我不喜歡我在示例中使用的方法,對於我製作的某些類,不能使用此方法。
function Box (pos,color,size) {
this.pos = new Vec(pos);
this.color = color;
this.size = new Vec(size);
}
在某些情況下,我想指定的顏色,但不是大小,而在其他情況下,大小,但不變色,而且在某些情況下,兩個,有的沒有。
您可以簡單地通過'Overload'(相同的函數**名稱** **不同的**參數**)函數。並用於創建對象使用'多構造函數' – 2014-08-27 17:34:34
@SyedAliTaqi:JavaScript中沒有函數重載 – 2014-08-27 17:41:41
@BOSS:謝謝你的信息。我對這個建議感到抱歉。 – 2014-08-27 17:45:10