var person =function (name)var p = new person("
boring
");
以上**在呼叫時,會變成如下
var p =(person (name) ;_newobj.constructor.call(_newobj, name)
//#3
return _newobj; //
#4})();
#0 建立乙個新的物件,_newobj;
#1 將物件的constructor賦值為person,即構造器函式;
#2 將物件的__proto__屬性賦值為person.prototype,即原型鏈的概念;
#3 使用構造器函式的方法設定name屬性this.name = name;可以轉成_newobj.constructor.call(_newobj, name),此時的this就是指向_newobj,由於call的原因;
#4 返回改物件給p變數.
new乙個物件發生什麼?
doctype html en utf 8 viewport content width device width,initial scale 1.0 x ua compatible content ie edge document title head 物件直接量 自變數 var zs new o...
原來是這樣 C 中new乙個物件時,發生了什麼事?
問 當我們new乙個物件時,會發生什麼事?答 呼叫該型別的建構函式。問題看似簡單,不過事實上,clr做的比這要多。要準確回答這個問題,還要分情況來說。new乙個引用型別 首先,要例項化乙個引用型別,就一定需要在堆上分配記憶體。要分配記憶體,就需要先計算出這個引用型別占多大空間,需要給它分配多少記憶體...
new乙個新物件的過程中都發生了什麼?
new是乙個運算子,在js中函式可以作為普通函式被呼叫做方法,也可以通過new來呼叫作為乙個構造器。如果有乙個函式 function person name,age 進行new操作 var p new person richard 23 其實是進行了以下四步 1.建立空物件 var p 2.讓建構函...