new操作符做了哪些事情?

2021-08-03 20:03:42 字數 470 閱讀 2769

var func=function

();

var func=new func ();

new共經過了4個階段

1、建立乙個空物件

var obj=new

object();

2、設定原型鏈

obj.__proto__=func.prototype;
3、讓func中的this指向obj,並執行func的函式體。

var result =func.call(obj);
4、判斷func的返回值型別:

如果是值型別,返回obj。如果是引用型別,就返回這個引用型別的物件。

if (typeof(result) == "object")  

else

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...

js中new操作符做了什麼?

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