function Person(){}Person.prototype ={name: "Nicholas",age:29,job: "software engineer",sayName : function(){ alert(this.name);}};var friend = new Person();我們將Person.prototype設置為等于一個以對象字面量形式創(chuàng)建的新對象。最終結(jié)果相同,但有一個例外:constructor屬性不再指向Person了。前面曾經(jīng)介紹過,每創(chuàng)建一個函數(shù),就會同時創(chuàng)建他的prototype對象,這個對象也會自動獲得constructor屬性,而我們這里使用的語法,而我們在這里使用的語法,本質(zhì)上完全重寫了默認的 prototype 對象,因此 constructor 屬性也就變成了新對象的 constructor 屬性(指向 Object 構(gòu)造函數(shù)),不再指向 Person 函數(shù)。此時,盡管 instanceof操作符還能返回正確的結(jié)果,但通過 constructor 已經(jīng)無法確定對象的類型了。這是書中的一段話,可以說完全沒看懂,這個constructor到底指向啥,一開始,constructor指向Person,后來為什么又指向Object了呢。。
js高級程序設計中關于創(chuàng)建對象的一點問題
小唯快跑啊
2018-12-19 17:14:18