其实我觉得楼主是想要解释为什么构造函数的原型对象也有constructor这个属性。不过我觉得楼主你这里说的的确有点问题。var A = new Person(); 这里的new在背后到底帮我们做了哪些事情?
第一步: let A = { };
第二步: A.__proto__ = Person.prototype;
第三步: Person.cal(A);
第四步: return A。
并没有你在上面说的Person.prototype = A这么一步流程;如果要说是大致是这么个过程的话,其实也不对,因为他们两个是独立的关系[ 硬要说有关系的话,应该是A包含Person.prototypr ]。至于为什么原型对象上有constructor,我觉得没必要解释,或者可以看一下我在下面37楼评论的回复。它就是内置的默认属性,如果要搞事情的话,可能还会问:为什么对象都有__proto__属性?本来就是js语言内置的默认属性,该怎么解释呢?楼主可以在这个地方考虑修改一下,因为我一开始看到你这个表达式不得不说有点懵逼。。。
最详尽的 JS 原型与原型链终极详解,没有「可能是」。(一)第二篇已更新,点击进入第三篇已更新,点击进入 三篇文章都更新完毕,完整的剖析了 JS 原型与原型链,希望通过这些教程能让你对 Javascript 这门语言理解的更透彻! 一...