什么是原型链?
JavaScript是⾯向对象的,每个实例对象都有⼀个__proto__属性,该属性指向它的原型对象,这个实例对象的构造函数有⼀个原型属性prototype,与实例的proto属性指向同⼀个对象。当⼀个对象在查找⼀个属性的时候,⾃⾝没有就会根据__proto__向它的原型进⾏查找,如果都没有,则向它的原型的原型继续查找,直到查到Object.prototype.proto_为null,这样也就形成了原型链。
原型对象和实例之间有什么作⽤呢?
幼儿科学通过⼀个构造函数创建出来的多个实例,如果都要添加⼀个⽅法,给每个实例去添加并不是⼀个明智的选择。这时就该⽤上原型了。
全勤奖管理制度>儿童手工灯笼制作在实例的原型上添加⼀个⽅法,这个原型的所有实例便都有了这个⽅法。
var M = function (name) { this.name = name; }
var o3 = new M('o3')
一年级班名实例就是对象,在本例中o3就是实例,M就是构造函数。
实例通过new⼀个构造函数⽣成的。
病毒的分类从上图中可以知道,实例的proto指向的是原型对象。
实例的构造函数的prototype也是指向的原型对象。
广西特色菜>鼓浪屿菽庄花园原型对象的construor指向的是构造函数。
补充:
只有函数有prototype,对象是没有的。
但是函数也是有proto的,因为函数也是对象。函数的proto指向的是Function.prototype。
>星星的守护