js高级面向对象小结(一)

js高级==>对象
js中的对象是指 键值对的集合key-value
语法结构: 字面量的形式 创建一个对象
var person={
name:‘张三’,
age:23
}
对象字面量语法
1. 将对象包装在大括号中;
2. 对象中以逗号分隔键值对;
3. 用冒号分隔属性名和属性值;
4. 不要忘记最后大括号后的分号。
js面向对象的编程
在js中没有class这个概念.而是使用对象 来模拟class
面向对象 是对 面向过程的封装

△字面量定义对象和function定义对象有什么不同?
①代码量更少,更易读
②强调对象就是一个简单的可变的散列表,而不必一定派生自某个类
③对象字面量运行速度更快,因为它们可以在解析的时候被优化:它们不需要”作用域解析(scope resolution)”;
因为存在我们创建了一个同名的构造函数Object()的可能,
当我们调用Object()的时候,解析器需要顺着作用域链从当前作用域开始查找,
如果在当前作用域找到了名为Object()的函数就执行,
如果没找到,就继续顺着作用域链往上照,直到找到全局Object()构造函数为止
④Object()构造函数可以接收参数,通过这个参数可以把对象实例的创建过程委托给另一个内置构造函数,并返回另外一个对象实例,而这往往不是你想要的。

面向过程与面向对象的不同:
①面向过程:a.以事件为中心,以功能为导向,分析某个问题的所需要的步骤,实现每个步骤的函数,不断调用函数。
b.面向过程编程,首先是如何操作数据,在考虑如何组织数据。数据和对数据的操作是分离的。
c.面向过程程序设计以设计各个功能模块为中心,难于维护。
②面向对象:a.对象:对象就是人们研究的任何一个事物,一件物品是一个对象,一个规则,计划,事件也是一个规则。
对象具有状态,用数据来描述,还具有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,是数据和操作封装在对象的统一体中。
b.类:具有相同或相似性质的对象的抽象成为类。类的具体化,实例化就是对象。
三大特点:
封装:将具有相同特性的一组对象抽象成一个类,
继承:子类可以继承父类的特性,并且可以扩展父类的特性,有良好的扩展性和复用性
多态:接口多种不同的实现方式称为多态。一个同样的操作在不同对象中完成不同的执行结果。
(封装可以隐藏细节,使代码模块化;继承可以扩展已存在的类,他们的目的都是为了代码的重用;而多态是为了实现接口的重用)
Eg:面向过程:
洗衣服:
1, 收拾脏衣服;
2, 打开洗衣机;
3, 放入衣服;
4, 加水以及洗衣粉
5, 设定程序,通电
6, 开始洗 一段时间
7, 打开洗衣机, 晾晒衣服
面向过程的编程思想: 所有的事都得自己干, 亲力亲为

					面向对象: 是一种编程思想	
						1, 女朋友
						2, 洗衣机
						// 3, 我,你,他
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值