原文:https://www.cnblogs.com/zlq92/p/10178286.html
一、prototype和 _proto_ 的概念
prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象;
_ proto_ 是一个对象拥有的内置属性,是JS内部使用寻找原型链的属性,简单来说,在 javascript 中每个对象都会有一个 _ proto _ 属性,当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去 _ proto _ 里找这个属性,这个 _ proto _ 又会有自己的 _ proto _,于是就这样一直找下去,也就是我们平时所说的原型链的概念.
二、有关于new 的过程
1 var Person = function(){}; 2 var p = new Person(); 3 4 //*new的过程拆分成以下三步:* 5 //(1) var p={}; 也就是说,初始化一个对象p; 6 //(2) p. __ proto __ = Person.prototype; 7 //(3) Person.call(p); 也就是说构造p,也可以称之为初始化p
8 //实例化对象p的—proto—属性=构造函数Person的prototype属性
原文:https://www.cnblogs.com/xincn/p/11805138.html