手寫乙個new操作符

2021-09-25 11:49:05 字數 400 閱讀 3539

**

// 實現乙個new操作符

function mynew()

//測試

function person(name)

var p2 = mynew(person, "小明");

console.log(p2.name);

解釋:

重點

slice內部實現是使用的this代表呼叫物件,那麼當.slice.call() 傳入 arguments物件的時候,通過 call函式改變原來 slice方法的this指向, 使其指向arguments,並對arguments進行複製操作,而後返回乙個新陣列。至此便是完成了arguments類陣列轉為陣列的目的!

實現乙個new操作符

new 操作符做了這些事 1.它建立了乙個全新的物件 2.它會被執行 prototype 也就是 proto 鏈結 3.它使this指向新建立的物件 4.通過new建立的每個物件最終被 prototype 鏈結到這個函式的prototype物件上 5.如果函式沒有返回物件型別object 包含fun...

布局new操作符

通常,new負責在堆 heap 中找到乙個足以滿足需要的記憶體塊。new操作符還有另一種變體,被稱為布局new操作符,能夠讓你指定要使用的位置。程式設計師可以利用這種 要使用布局new特性,首先要包含標頭檔案new,他提供了這種new操作的原型。const int buf 512 class jus...

模擬new操作符

function imitatenew func,args let person imitatenew function name,age alima 17 複製 使用new操作符呼叫建構函式經歷的步驟 建立乙個新物件,繼承建構函式的原型物件 將建構函式的作用域賦給新物件 this指向新物件 執行建...