new 操作符
- 創(chuàng)建了一個(gè)新對(duì)象
- 將構(gòu)造函數(shù)的作用域賦值給新對(duì)象(因此this就指向了這個(gè)新對(duì)象)
- 執(zhí)行構(gòu)造函數(shù)中的代碼
- 返回新對(duì)象
function _new(){
var args = Array.form(arguments);
var Func = args[0];
var o = {}
o.__proto__ = args[0].prototype;
const result = Func.apply(o, args.silice(1, args.length))
return result instance Object ? result : o
}