1-面向对象的知识点概括

2018-01-02  本文已影响0人  谷子多

1、面向过程:

    关注功能如何实现,越复杂越难

2、面向对象:

    关注是谁来做这件事,越复杂越简答

    优势:团队协作开发

    用面向对象思想解释汽车 :有轮子,烧汽油,交通工具,有颜色,归为一类,这一类东西,就叫做汽车。

    理解:面向对象就是把具有相同特征的内容归为一类,把它封装,再把描述性的特性挂在这个类的原型下 ,这个编程方式就叫做面向对象。也就是封装函数,即归类。

3、构造函数 :

    构造对象的函数。

4、new : 一元运算符,专门运算函数

    1.使用new运算符之后,函数调用可以不加括号,加括号的目的就是为了传参。

    2.this变为带函数名的对象。

    3.使用new创建函数,返回值默认就是带函数名的对象。

    4.new完之后:

        (1)如果return后面为简单类型,那么返回值仍然是默认的带函数名的对象。

        (2)如果return后面为复合类型,那么返回值就是return后面的复合类型。

5、面向对象三大特性 :

    1.抽象 :把具有相同特征的内容抽离出来

    2.封装 :包在一个函数中

    3.继承

1.工厂方式(构造函数):

6、原型:

在函数创建的时候,自身带着的一个属性,这个属性的值为对象。

如果实例化对象上没有某个属性或者方法,那么会去构造函数下的原型下去查找有没有这个方法。

7、原型链  __proto__:

    只要是实例化的对象,就有原型链。它是实例化对象和构造函数原型的桥梁。函数本身也是一个实例化对象,所以也有这个属性。构造函数的原型下的属性或者方法,只给它的实例化对象使用(如果没有原型,就走__proto__.construstor)。

8、实例化对象.__proto__ === 构造函数的原型

9、包装对象:

        基本数据类型本身不是对象,但是却可以通过属性操作的方式去调用某些方法,为什么?

        当使用原始类型的值(string、number、boolean),在调用对应属性和方法的时候,内部会自动转成对应的对象。隐式创建的这个对象,就成为包装对象,包装对象使用之后立即被销毁

10.对象的遍历:for...in...

        遍历自身和原型上的属性。(特别注意一下,原型的也会被遍历)

        数组也可以用for...in...,会打印出数组的key(就是下标)

11.hasOwnProperty

    查看属性是不是对象自身的,不会查找原型上的属性。

12.instanceof

二元运算符。用来验证对象和构造函数的关系。

左值是否是右值的实例化对象

13.继承

    1>拷贝继承:

            第一步:.类的继承(属性继承):在自身的构造函数内部调用父类并且修改this

          第二步:拷贝继承(继承方法)

                for in父类原型的方法。这样操作就是简单类型的赋值,而不是符合类型赋值,所以不会相互影响。

  2>原型继承:

        第一步:还是和拷贝继承一样,先继承属性

        第二步:方法继承

            1、首先new一个新的构造函数

            2、要继承的父类原型赋值给这个构造函数的原型:赋址操作,引用一个地址    

            3、然后将子类的原型等于这个新的构造函数。

因为是不同的空间地址,所以如果Drag2改了原型,也不会影响到原先的父级

14.valueof:获取对应类型的原始值

15.constractor : 查看某个对象的构造函数

    这个指向容易变(在赋址的时候就会变),就算变了并不影响代码执行,它只是一个辅助作用。

上一篇 下一篇

猜你喜欢

热点阅读