JavaScript oop-2 emulate new function

我所理解的 new Constructor();

在 js 裡面要模擬 classical 的方式 產生物件的方式就是用 new 加上函式 當成建構子。

以我目前的理解,內部可能是這樣運作的:

var n = function(construct,args) {
  var o = new Object();
  o.prototype = construct;
  construct.apply(o,args);
  return o;
}
var test = n((function(a) { this.a = a}),[1]);
alert(test.a);// 1

n 函式 模擬 new 的動作,第一個函式為建構子,第二個函數為參數陣列,
進入以後則模擬物件呼叫建構子,並將物件當成 this 傳入,最後將產生的物件回傳。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *