面向对象-1:对象创建、调用 / new实例化->构造函数 / 原型prototype / 工厂模式 / 包装对象

面向对象编程思想

 一、面相过程:注重解决问题的步骤,分析问题需要的每一步,实现函数依次调用;

 二、面相对象:是一种程序设计思想。将数据和处理数据的程序封装到对象中;

 三、面相对象特性: 抽象、 继承、封装、多态

优点:提高代码的复用性及可维护性;


Javascript 是一种基于对象的语言,几乎所有东西都是对象;

对象创建方法:

    1- 字面量创建(比构造函数创建性能好)

    2- new Object()构造函数创建

    3- Object.create()创建:创建对象的原型;

对象的调用


new运算符

new的特点:

1.new能执行函数 

2.自动创建空对象;

3.this绑定到空对象;

4 隐式返还this;

通过new来改造工厂模式


构造函数

    - 构造函数要通过new来调用,this指向Student

    - 约定俗成构造函数首字母大写

构造函数性能

            公共空间存放公共方法 prototype ,更节约内存

构造函数原型

            prototype和constructor

                    prototype固有属性  constructor--->Person;

                    Person.prototype.constructor === Person

prototype原型

        - 通过new实例化出来的对象其属性和行为来自两个部分,一部分来自构造函数,另一部分来自原型。

        - 当声明一个函数的时候,同时也申明了一个原型 。

        - 原型本身是一个对象。

        - 对象属性方法查找规则;

静态属性及方法

  - 静态方法里的this;

  - 扩展功能;


工厂模式对比构造函数

    1.但是却没有解决对象识别的问题。即创建的所有实例都是Object类型。(不清楚是哪个对象的实例)

    2.工厂模式没有原型,占用内存


工厂模式(了解就可以,推荐用构造函数)

工厂模式解决了代码复用的问题;

对象和类

​   一、对象:具体的某个事物;(如:小明、叮当猫)

​   二、类:一类事物的抽象;(如:人类、猫类)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值