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

2021-09-23 01:49:17 字數 703 閱讀 5474

先看乙個例子:

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()

;//'test'

new操作符的作用如下:

1.建立乙個空物件

2.由this變數引用該物件

3.該物件繼承該函式的原型

4.把屬性和方法加入到this引用的物件中

5.新建立的物件由this引用,最後隱式地返回this。

過程如下:

let obj =

;//建立乙個空物件

obj.__proto__ = person.prototype;

//該物件繼承該函式的原型

person.

call

(obj)

;//隱式地返回this

New操作符到底幹了什麼事

function fun foo.prototype.z 12 在foo物件的原型上新增了乙個屬性z var obj new fun foo原型進行了例項化 obj.age 18 在obj物件上新增了乙個屬性age 1 建立了乙個空物件 2 設定原型鏈 obj.proto foo.prototype...

new操作符具體幹了什麼呢

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

js中new操作符做了什麼?

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