欢迎大家来到IT世界,在知识的湖畔探索吧!
1. 什么是对象:
a) 不知道收音机的内部原理却能够使用它
b) 对象是一个整体,是一个盒子,对外是封闭的,我们不需要知道它的内部细节
2. 什么是面向对象:
a) 在使用对象的时候,只关心它提供的外部功能,不关心它的内部细节;
b) 比如JQuery
3. 面向对象编程的特点(OOP):
a) 抽象:抓核心
b) 封装:封装细节,提供外部接口
c) 继承:在已有的对象之上,继承出新的对象
i. 多重继承 – 有多个父级
ii. 多态 – 父类和子类有相同的操作,但操作之间又不相同
4. 对象的组成:
a) 属性:就是变量,一个从属于某个对象的变量;
b) 方法:就是函数,一个从属于某个对象的函数;
c) 函数、方法、构造函数、事件处理函数其实都是一种东西;
5. this的本质:
a) 说明方法属于哪个对象;
b) this在fn前面有new的时候会失效;
c) fn前面有new的时候,this会指向一个系统创建好的新的对象
6. 工厂方式:
a) 创建一个对象(原料)
b) 加属性、方法 (加工)
c) 返回对象 (出厂)
d) 缺点:
i. 没有new
ii. 每个对象都有一套自己的函数 ,就像每人都扛一台饮水机来上课似的,极其浪费资源;
7. 什么是prototype (原型):
a) 是一个demo;
b) 类似于css中的Class, 在JS中给一类对象加方法
c) Class 与 行间样式:
i. Class – 改变一类元素的样式;
ii. 行间样式 – 改变一个元素的样式; 优先级更高;
d) 原则的重要作用:扩展系统对象的功能;
8. 类与对象(实例):
a) 类: 模子 Array : 不具备实际的功能,只能用来构造对象
b) 对象: 小蛋糕 arr = new Array(); 真正有功能的东西,被类给构造出来的;
9. 从工厂方式到混合法:
a) 区别普通函数 和 构造函数,构造函数的首字母大写;
b) 每个对象的属性各不相同,所以在构造函数内部添加属性;
c) 每个方法所有对象都一样,所以到原型中添加;
10. 面向对象的选项卡:
a) 改写方法:
i. 所有的东西都在onload里;
ii. 将所有的函数嵌套都干掉;
iii. 不能有函数嵌套,可以有全局变量;
iv. onload -> 构造函数;
v. 全局变量 –> 对象属性;
vi. 全局方法 –> 对象方法;
11. this在面向对象中会出问题的两个地方:
a) 但凡被定时器调用的函数,它的this一定是window;
b) 被事件调用时;
12. Json方式的面向对象:
a) 命名空间:方便多部门合作;
13.继承:
a) 先执行父级的构造函数,然后再添加子类的属性;
14. JS中的继承:
a) 使用call()调用父级的构造函数; -> 构造函数伪装,继承父级的属性;
b) 通过原型继承父类的方法; -> 原型链,继承父级的方法;
15.Instanceof 判断对象是哪个类的实例
16.利用JS继承实现 限制范围的拖拽
17. 系统对象:
a) 本地对象:
i. 是非静态对象;
ii. 使用时必须用new进行实例化;
iii. 如: Object, Function, Array, String, Boolean, Number, Date, RegExp, Error
b) 内置对象:
i. 是静态对象;
ii. 如 Math
c) 宿主对象:
i. 宿主: 生活、运行的环境; 随着运行环境的不同而有所变化;
ii. JS的宿主对象:由浏览器提供的对象 – DOM BOM;
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35752.html