new 操作符 都做了什麼

2021-10-07 11:10:21 字數 570 閱讀 4998

new操作符都做了什麼?

建立了乙個新物件let target = {}

繼承了函式的原型target.__proto__ = func.prototype

屬性和方法都加入到this 引用的物件中,並執行該函式//func.call(target)

如果該函式返回的是objectfunction就返回

function new (func) 

// 繼承函式的原型

target.__proto__ = func.prototype

// 將屬性和方法引入到this引用的物件中

let res = func.call(target)

// 如果該函式返回的是 `object` `function` 就返回

if (typeof(res) == 'object' || typeof(res) == 'function')

return target

}

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的時候,程式做了以下四個建立步驟 建立乙個空物件 ...

js中new操作符做了什麼?

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

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

建立乙個空物件 把空物件的原型設為建構函式的原型 把建構函式的指標指向這個空物件並傳參 最後返回例項 function likenew obj,args newobj.proto obj.prototype 可將前兩步合併 let newobj object.create obj.prototype...