實現JavaScript中的new

新建一個空對象,這個空對象原型指向構造函數的prototype,執行構造函數後返回這個對象

function objectFactory(){
      var obj = new Object(); //創建一個新對象
      Constructor = [].shift.call(argument); //取出第一個參數即構造函數,shift會修改數組
      obj._proto_ = Constructor.prototype; //將obj的原型指向構造函數
      Constructor.apply(obj,argument); //使this指向obj,執行構造函數
      return obj; //返回這個對象
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章