2019年第一篇博客 面向对象

什么是js面向对象?

1.首先,js面向对象是一种思想;

2.其次,遵循万物皆对象的准则;程序中的关键模块都可以视为对象,对象都是由属性和方法组成,属性可以理解为对象的特征,是静态的,方法可以理解为对象的行为,是动态的;

3.面向对象会使用对象的属性和方法,它不关注内部的细节和过程;同时也会构造对象。

4.在js中,所有的对象可以分为普通对象和函数对象。而Object ,Function 是JS自带的函数对象。凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。

面向对象有什么特点?

1.封装

 封装通俗的说,就是我有一些秘密不想让人知道,就通过私有化变量和私有化方法,这样外界就访问不到了。然后如果你有一些很想让大家知道的东西,你就可以通过this创建的属性看作是对象共有属性和对象共有方法,这样别人知道你的公共的东西啦,不止如此,你还可以访问到类或对象自身的私有属性和私有方法。

2.继承

六大继承

1.原型继承:将父类的实例赋值给子类的原型

这就是原型继承 将父类的私有和公有都继承在子类的原型上,成为子类的公有属性。

2.call继承   将父类私有的继承为子类私有的

3.冒充对象继承 将父类私有的和公有的都继承为子类私有的

4.混合继承 私有的继承为私有的,公有的和私有的再次继承为公有的

混合继承是call和原型继承的结合 私有的被继承了两次

5.组合继承 私有的继承为私有的 公有的继承为公有的

6.中间类继承

arguments 不是一个数组,没有array的那些自带的方法,现在我们想arguments有array的那些方法,将arguments的原型执行Array内置类的原型。

原文地址:https://www.cnblogs.com/yangzhiqiang/p/10241353.html