New操作符到底幹了什麼事

2021-09-27 08:57:35 字數 528 閱讀 6853

function fun(){}

foo.prototype.z=12//在foo物件的原型上新增了乙個屬性z

var obj=new fun()//foo原型進行了例項化

obj.age=18//在obj物件上新增了乙個屬性age

1、建立了乙個空物件

2、設定原型鏈

obj._proto_=foo.prototype
這裡涉及到了原型鏈的問題:每乙個建構函式下面都有乙個prototype屬性,這個屬性其實是乙個指標,指向乙個物件,也就是我們所說的每乙個物件下面都有乙個原型物件

3、將物件作為函式的this傳進去,如果return 出來東西是物件的話就直接返回 return 的內容,沒有的話就返回建立的這個物件

4、繼承原型鏈上的屬性和方法

5、最後隱式的返回this

js中new操作符到底幹了什麼?

先看乙個例子 function person person.prototype.test function let p1 newperson console.log p1.name andy console.log p1.age 20 p1.say hello everybody p1.test t...

new操作符具體幹了什麼呢

考察對new關鍵的深刻認識,是否對前端知識有專研,如果沒有專研的人,肯定說建立了乙個物件,恭喜你面試官知道你是小菜鳥來的,這次面試基本上沒有太大的希望了。一定要對new過程的4個步驟非常清楚,這樣才能深深地抓住面試官的心!new共經過了4幾個階段 1 建立乙個空物件 varobj new objec...

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