自己實現乙個new方法

2021-09-25 06:39:20 字數 973 閱讀 7912

好久沒有寫點東西了,最近看了下js基礎教程,覺得有些東西還是有必要記錄下來

new關鍵字通常和建構函式一起使用,用於建立物件。

function

animal

(name, action);}

let animal1=

newanimal

("tigger"

,"run");

let animal2=

newanimal

("cat"

,"jump");

console.

log(animal1.__proto__ === animal2.__proto__)

;//true

console.

log(animal1.__proto__ === animal.prototype)

;//true

console.

log(animal.prototype.constructor === animal)

;//true

//因此person1.__proto__ = person2.__proto__ = person

console.

log(animal1.name)

;//yan

function

mynew

(fun,

...arg)

// 執行建構函式

fun.

(obj, arg)

// 返回該物件

return obj

}function

person

(name, age)

let _person =

mynew

(person,

'huang'

,'21'

)console.

log(_person)

簡單實現乙個new

實現乙個new操作符 function mynew 測試 function person name var p2 mynew person,小明 console.log p2.name 解釋 1 let fn shift.call arguments 重點 slice內部實現是使用的this代表呼叫...

用原生js實現乙個new方法

首先寫乙個父類方法 包含引數name,age function person name,age new乙個person的例項p1做研究對比 var p1 new person richard 22 此時p1包含name age屬性,同時p1的 proto 指向person的prototype p1....

自己實現乙個Redux。

redux是乙個用於狀態管理的js框架,是flux架構的一種實現 如圖 reducer 為乙個使用者自定義的函式,在store分發 dispacth action時提供處理方法去更新狀態樹中的狀態。應該為乙個純函式。action 為乙個使用者自定義的物件,裡面包含乙個type屬性,標識乙個動作型別。...