js的new操作符具體做了什麼

2021-10-09 23:53:25 字數 461 閱讀 4579

建立乙個空物件

把空物件的原型設為建構函式的原型

把建構函式的指標指向這個空物件並傳參

最後返回例項

function

likenew

(obj,

...args)

newobj.__proto__ = obj.prototype

//可將前兩步合併 let newobj = object.create(obj.prototype)

let result = obj.

(newobj,args)if(

typeof result ===

'object'

||typeof result ===

'function'

&& result !==

null

)return newobj

}

js中new操作符做了什麼?

看了好幾篇部落格終於弄懂了new操作符,寫得很相似,但有經過自己的思考的 function foo name,age console.log newfoo lxh 21 foo這是通過new直接建立出乙個物件,那麼new操作符是怎麼實現的呢?function objectfactory 3.拿到引數...

new操作符都做了什麼

var fun function var fun1 function var p1 new fun var p2 new fun1 p1.name jack p2.name peter為什麼p1和p2的name值不一樣,要從new操作符說起,在new的時候,程式做了以下四個建立步驟 建立乙個空物件 ...

new 操作符 都做了什麼

new操作符都做了什麼?建立了乙個新物件let target 繼承了函式的原型target.proto func.prototype 屬性和方法都加入到this 引用的物件中,並執行該函式 func.call target 如果該函式返回的是objectfunction就返回 function ne...