【09类和模块】——概述

我们都知道每个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类和原型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值