new 關鍵字的理解

2021-07-30 03:08:47 字數 583 閱讀 4028

當我們例項化乙個物件時,會遇到乙個有意思的問題:

function person(name) {

this.name = name;

var p =new person("zhangsan")。

console.log(p);

建構函式並沒有返回值,為什麼可以將person例項化呢?這是因為new的原因。new關鍵字有兩個作用:1.申請記憶體空間 2.自動確定函式的返回值為乙個例項化物件,以上列印的為person物件。

function person(name) {

this.name = name;

return 12;

var p = new person("zhangsan")。

console.log(p);

以上即使有乙個返回值 11,但是因為new關鍵字的存在,列印的仍是p。

function person(name) {

this.name = name;

return 12;

var p =  person("zhangsan")。

console.log(p);

以上列印的是12。

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...

javascript中new關鍵字的理解

使用建構函式方式建立物件時,用new操作符來建立這個建構函式的例項 js在執行第8行 var person1 new person tom 時,其實模擬了這樣的流程 1.建立乙個空物件obj 2.把obj的 proto 指向person的原型物件prototype,這樣就建立了obj物件的原型鏈 o...

手寫 new 關鍵字

function mynew func,args 新物件原型指向建構函式原型物件 obj.proto func.prototype 將建構函式的this指向新物件 let result func.obj,args 根據返回值判斷 return result instanceof object res...