什么是面向对象编程
用对象的思想去写代码,就是面向对象编程
数组 Array 时间 Date
面向对象编程(OOP)的特点
抽象:抓住核心问题
封装:只能通过对象来访问方法
继承:从已有对象上继承出新的对象
多态:多对象的不同形态
对象的组成
方法(行为、操作)——函数:过程、动态的
属性——对象下面的变量:状态、静态的
工厂方式
面向对象中的封装函数
改成与系统对象类似写法
首字母大写
New 关键字提取
当new去调用一个函数,函数中的this就是新创建的对象,而且函数的返回值直接为this(隐式返回)
|
|
new后面调用的函数叫做构造函数
构造函数:用来创建对象的函数,叫做构造函数
存在的问题:存在多份showName方法(浪费内存)
|
|
参考分析:
基本类型 : 赋值的时候只是值的复制
|
|
对象类型 : 赋值不仅是值的复制,而且也是引用的传递
|
|
赋值会在内存中重新生成
|
|
基本类型 比较: 值相同就可以
|
|
对象类型比较 : 值和引用都相同才行
|
|
原型-prototype
概念:重写对象方法,让相同方法在内存中存在一份(提高性能)
类比理解:
原型类似于CSS中的Class
普通方法类似于CSS中的Style
普通方法:
|
|
原型 prototype : 要写在构造函数的下面
|
|
原型的优先级低于普通方法
|
|
通过原型改写工厂方式
|
|
原则:相同的属性和方法可以加在原型上
面向对象写法(初级):
|
|
面向对象的选项卡
原则
先写出普通的写法,然后改成面向对象写法
普通方法
|
|
普通方法变型
尽量不要出现函数嵌套函数
可以有全局变量
把onload中不是赋值的语句放到单独函数中
|
|
改成面向对象
全局变量就是属性
函数就是方法
Onload中创建对象
改this指向问题
|
|
this指向
|
|