模擬new的簡單實現

2021-10-12 04:27:23 字數 842 閱讀 8098

在建構函式中建立乙個空物件

把建構函式的this指向這個新的空物件

把建構函式的prototype屬性指向的原型物件賦值給這個空物件的__proto__屬性

返回這個空物件

function

person

(name,age)

function

newsimulate()

//這裡是為了呼叫shift方法,該方法會返回陣列的首項,即傳入的引數首位

let fn =

.shift.

(arguments)

//把空物件的__proto__指向建構函式的原型物件

obj.__proto__ = fn.prototype

//...spread操作符展開陣列,用變數result儲存返回的結果

JavaScript 模擬new的實現

首先一句話解釋一下new new 可以實現乙個物件繼承建構函式的屬性以及方法 舉個例子 function parent name,age parent.prototype.sayname function let child new parent js 18 console.log child.na...

模擬實現js的new

目錄new是什麼 一句話介紹new new運算子建立乙個使用者自定義的物件型別的例項,或者具有建構函式的內建物件型別之一。看下下面的 來了解new操作符都做了什麼事情 class constructor function person name,age 每個函式都有prototype物件屬性 在類的...

new 原理及模擬實現

new 運算子建立乙個使用者定義的物件型別的例項或具有建構函式的內建物件的例項。舉個栗子 function car color car.prototype.start function var car new car black car.color 訪問建構函式裡的屬性 black car.star...