JS的原型及原型链的讲解,网上很多。这里自己也记录一下。
JS的重要核心概念:万物皆对象。
对象主要是两个: Object Function
一、JS对象的原型
1、 函数对象:
function Foo(){
this.type = 'foot';
}
JS 的每一个函数对象都有一个 prototype 属性,这个prototype指向一个Object实例。
笔记:
1、function 也是一个对象
2、function 有一个prototype 属性
3、prototype属性指向的是一个实例对象,这个对象包含两个属性 constructor和 _ proto _
2、普通实例对象
普通对象的在内存里面有两个属性:
a、type 继承而来
b、__ proto_ 这个是属性,这个属性指向一个实例对象,这个对象包含两个属性constructor和 proto
二、原型链
上面的例子中的foo.proto和Foo.prototype指向的是同一个对象。
注意:
foo.__proto 指向的是另外一个存在的实例对象
Foo.prototype 指向的也是一个存在的实例对象
JS的继承总是有一个第三方对象的存在。 这个对象的名字叫 Foo.prototype, 是一个对象。