JS中的new操作符原理解析

2021-10-01 11:28:38 字數 773 閱讀 7574

你越是認真生活,你的生活就會越美好——弗蘭克·勞埃德·萊特

《人生果實》經典語錄

var

person

=function

(name)

person.prototype.

sayhello

=function()

var p1 =

newperson

('hong');

console.

log(p1.name)

// hong

p1.sayhello()

;// hello hong

// new person('hong')的過程如下

obj.__proto__ = person.prototype

obj.name =

'hong'

return obj

}

new 運算子建立乙個使用者定義的物件型別的例項或具有建構函式的內建物件的例項。

拿上面的例子分析,new操作符做了什麼

ps:如果沒有使用 new 運算子, 建構函式會像其他的常規函式一樣被呼叫, 並不會建立乙個物件。在這種情況下, this 的指向也不一樣。

new 運算子

連點成線

謝謝你閱讀到了最後~

讓我們一起 變得更強

JS中的new操作符原理解析

1 var person function name 4 person.prototype.sayhello function 7 var p1 new person hanmei 8 p1.sayhello 1.建立乙個類的例項 建立乙個空物件obj,然後把這個空物件的 proto 設定為pers...

js中的new操作符原理

舉乙個很常見的例子 function person name person.prototype.say function let p new person 花花 p.say 花花 為什麼會列印出 花花 為什麼建構函式中的 this 就指向了 物件?這就是 new 的原理起的作用 1 建立乙個類的例項...

JS中的new操作符

在js中定義乙個建構函式,然後用new操作符構造物件obj,js 如下。function base var obj new base console.log obj.name console.log obj.age new操作符具體都幹了什麼呢?其實很簡單,包括三步 1.var obj 2.obj....