js面向对象
# 对象原型
JavaScript 常被描述为一种基于原型的语言——每个对象拥有一个原型对象,对象以其原型为模板,从原型继承方法和属性。原型对象也可能拥原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为 原型链 ,它解释了为何一个对象会拥有定义在其它对象中的属性和方法
对象原型
每个对象都有个内置属性对象 对象原型 prototype
,这个原型对象是对象本身
function Person(){};
1
这个属性 prototype
对象中有两个属性
constructor
_proto_
每个 prototype
对象都可能有个原型对象 _proto_
属性对象,指向的是继承的上一个原型对象可以理解为继承的对象或实例化对象的原型
var person1 = new Person();
1
此处的 person1
实例化对象没有 prototype
属性,但是有 _proto_
属性
因为 proson1
实例化对象不是原型类
Person.prototype.age = 404;
1
以这个例子可以输出
Person.prototype:
{
age:404
construct:Person()
_proto_:Object() //继承的父类
}
1
2
3
4
5
6
2
3
4
5
6
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48