其實(shí)我覺得樓主是想要解釋為什么構(gòu)造函數(shù)的原型對象也有constructor這個屬性墨状。不過我覺得樓主你這里說的的確有點(diǎn)問題玷坠。var A = new Person(); 這里的new在背后到底幫我們做了哪些事情地来?
第一步: let A = { };
第二步: A.__proto__ = Person.prototype;
第三步: Person.cal(A);
第四步: return A耍鬓。
并沒有你在上面說的Person.prototype = A這么一步流程础爬;如果要說是大致是這么個過程的話吧慢,其實(shí)也不對,因?yàn)樗麄儍蓚€是獨(dú)立的關(guān)系[ 硬要說有關(guān)系的話篇梭,應(yīng)該是A包含Person.prototypr ]氢橙。至于為什么原型對象上有constructor,我覺得沒必要解釋恬偷,或者可以看一下我在下面37樓評論的回復(fù)悍手。它就是內(nèi)置的默認(rèn)屬性,如果要搞事情的話,可能還會問:為什么對象都有__proto__屬性谓苟?本來就是js語言內(nèi)置的默認(rèn)屬性,該怎么解釋呢协怒?樓主可以在這個地方考慮修改一下涝焙,因?yàn)槲乙婚_始看到你這個表達(dá)式不得不說有點(diǎn)懵逼。孕暇。仑撞。
最詳盡的 JS 原型與原型鏈終極詳解,沒有「可能是」妖滔。(一)第二篇已更新隧哮,點(diǎn)擊進(jìn)入第三篇已更新,點(diǎn)擊進(jìn)入 三篇文章都更新完畢座舍,完整的剖析了 JS 原型與原型鏈沮翔,希望通過這些教程能讓你對 Javascript 這門語言理解的更透徹! 一...