1. 程式人生 > >new操作符時具體是幹了些什麼

new操作符時具體是幹了些什麼

var Func=function(){  
};  
var func=new Func ();  

new過程的4個步驟:

(1)建立一個空物件

var obj =new object();

(2)設定原型鏈

obj.proto = Func.prototype;

(3)讓Func中的this指向obj,並執行函式體

var result = Func.apply(obj);

(4)判斷Func返回值型別,如果是值型別,返回obj;如果是引用型別,就返回這個引用型別的物件。

if(typeof(result) == 'object') {
 func = result;
}
else{ func = obj; }