js 函式可以透過一些方式與公用函式來動態呼叫,並用陣列動態丟入參數,但是透過公用函式可以呼叫參數那不就失去能力動態呼叫 new 建構子了嗎?因為語法上有衝突~如同下面範例,第二行,這樣就已經變成呼叫函式了,如果變換一下用第三種方式呼叫,乍看好像結果會一樣,但是如果建構子內有修改全域變數可能會造成一些後遺症,那要如何用陣列丟參數的情況下產生物件勒勒勒~~
// call function by array func.apply(this, [1, 2]); // new object by array ? new func.apply(this, [1, 2]); // maybe has side effect .. because the func be called twice. func.apply(new func(), [1, 2]);