原型、原型链的理解

166 阅读1分钟
<script>
	function people (name, age) {
		this.name = name;
		this.age = age;
	}
	people.prototype.six = function () {
		return '女'
	}
	var person = new people('我叫xxx', 10)
	console.log(person)
</script>

对象实例

var person = new people()
person就是对象实例
new出来的people()就是构造函数

proto

每一个对象都具有属性__proto__
一个对象的__proto__都指向该造该对象的构造函数的prototype

prototype对象属性

- 原型是什么? prototype,对象属性、 函数的原型
- 作用:共享属性、方法
只有函数才会具有prototype属性,函数有__proto__、prototype。
因为prototype是个对象,所以叫做对象属性
每一个prototype都会存在constructor。

原型链

实例对象通过__proto__查找构造函数的prototype,如果构造函数不存在,则向上继续查找,查object.proptype。 最后Object.prototype的__proto__属性指向null。