十五、类和对象进阶

十五、类和对象进阶

1.复习:值类型和引用类型

值类型在调用方法传递是,传的是值

数组是引用类型

2.原型对象

prototype属性是类的原型对象

通常情况下,我们习惯将类的方法,定义到类的原型对象中,这样做的好处是,提高代码的利用率,不会开辟多余的内存空间。

__proto__属性是对象的原型对象,注意:同种类型多个对象上的原型对象 共同指向 类型上的原型对象。

类的原型对象上面的方法,类的对象,可以直接调用



如果将方法直接定义在类里面,将来根据这个类创建的每个对象,都要创建自己独立的这些方法

如果要创建很多对象,对内存的开销会很大。


可以将类的方法,添加到类的原型对象身上

2.2查看String和Array的原型对象

定义一个字符串,本质上它是一个对象

既然是对象,就一定要有一个__proto__的原型对象

采用字符串的构造函数去创建字符串对象


扩展日期的方法(返回格式:yyyy-mm-dd hh:mm:ss)

创建JS文件

3class定义类

这是ES6之前,定义类型的方式

从ES6以后,添加了class关键字,定义类型

 注意:该语法的兼容性不高,ie9以下都不支持,部分其他低版本的浏览器也存在兼容性问题。

4.继承

定义动物类

定义动物的方法

创建一个动物对象

定义一个狗狗类

将Dog类的原型对象改成一个Animal对象

狗狗特有的方法

创建一个狗狗对象

定义一个猫咪类

继承Animal的方法

猫咪特有的方法


ES6的继承方式

定义动物类


创建一个动物对象

定义狗狗类class关键字,定义类;extends关键字继承类,

采用这种方式,Animal的方法,此刻已经全部继承过来了。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容