先看乙個例子:
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.拿到引數...