我们都知道每个javascript 对象都是一个属性的集合,相互之间没有任何的联系,那么如果我想让一些对象共享某些属性该怎么办呢?
在javascript中可以定义对象的类,让每个对象都共享某些属性,这种共享的特性是非常有用的。
类的成员或者实例包含一些属性,用于存放或定义它们的状态,其中有些属性定义了他们的行为(通常称为方法)。这些行为通常是由类定义的,而且为所有的实例所共享。
在javascript中,类的实现是基于原型继承机制的,如果说两个实例都从同一个原型对象上继承了属性,我们说它们就是同一个类的实例;
如果两个对象继承自同一原型,往往意味着它们是由同一个构造函数创建并初始化的。
//定义一个构造函数,描述小猫的颜色和年龄
function cat(age){
this.age=age;
this.color="yellow";
}
//实例化两个对象
var cat1=new cat(3);
var cat2=new cat(2);
Object.getPrototypeOf(cat1)===Object.getPrototypeOf(cat2)
//返回true,说明cat1和cat2继承自同一原型,cat.prototype
cat1.color===cat2.color //true,说明又同一个构造函数实例化
javascript中类的一个重要的特性就是“动态可继承”,在接下来的博文中我会解释这一特性;
定义类是模块化开发和重用代码的有效方式之一。
期待你阅读下一篇博文,关于使用工厂函数方式来创建类【09类和模块】——1类和原型
3153

被折叠的 条评论
为什么被折叠?



