new 乙個物件時發生了什麼

2022-07-20 11:06:15 字數 530 閱讀 8293

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.讓建構函...