js6关于面向对象.doc

js6关于面向对象.doc

ID:55261350

大小:72.00 KB

页数:5页

时间:2020-05-08

js6关于面向对象.doc_第1页
js6关于面向对象.doc_第2页
js6关于面向对象.doc_第3页
js6关于面向对象.doc_第4页
js6关于面向对象.doc_第5页
资源描述:

《js6关于面向对象.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、面向对象的相关概念匿名函数和普通函数:匿名函数就是没有名字的函数,它的使用可以通过自启动的方式和赋值给一个变量的方式进行启用。闭包:实质就是函数的嵌套,在闭包中我们要注意闭包函数里的this就是window对象。全局作用域、函数作用域以及块级作用域在js中只有全局作用域和函数作用域,没有块级作用域,但是我们可以模拟块级作用域块级作用域的概念:除函数外,在大括号中封装的代码,就叫块级作用域。在块级作用域中申明的变量只在块级作用域中有效,而使用块级作用域的好处就是安全和快速。其安全的本质就是在块级作用域中定义的变量和别的区域的变量不冲突,这就是为什么我们要使用块级作用域在j

2、s中块级作用域的实现:(Function(){代码块;})();这就叫函数的自启动。一、面向过程的函数转换成面向对象的函数的4个步骤:(对这四个步骤完全没必要深究,面试不会考,实用性不大!重在理解一种面向过程的思想向面向对象思想的转变过程)第一,将通用的变量转换为全局的变量;第二,将所有的函数独立出来;第三,将onload的函数转换为构造函数(将变量转换为属性,前面加上this);第四,将所有的函数转换成原型方法;二、面向对象的实例属性和原型方法:实例属性方法:是在构造函数内部使用的方式。特点就是每创建一个对象,就会为了存储这些属性或方法开辟新的空间,这样就造成空间的浪费

3、。原型属性方法:是在构造函数外部使用的方式。特点就是不用开辟新的空间就可以共同使用其属性或方法,但是因为大家都在用,其中一个对象改变了其属性或者方法,其他对象的属性或方法也跟着改变了。基于以上的两个方面,我们就想到了混合模式(混合型):具体做法就是,将属性放在构造函数的内(实例属性),将方法放在构造函数的外部(原型方法)。一般而言,实例属性+原型方法构成混合模式。其原因是:属性一般是一个对象特有的、具体的属性。而方法一般是一个对象共通的、共性的方法。例如:年龄,身高,体重等都应该是一个Person的特有的、具体的属性,不可能大家有同样的年龄、身高、体重等属性;但是我们有大

4、多相同的方法,比如我们都要吃饭,是一个方法,都要睡觉,是一个方法,都要工作是一个共有的方法。因此在我们一般的应用中,我们使用实例属性+原型方法的方式构造一个函数。但是,学习要灵活应用,不是所有的属性都该是实例属性,也不是所有的方法都该是原型方法。比如Person如果有个肤色这样的一个属性,中国人基本上都是黄色的肤色,我们没有必要把这个属性设置为实例属性,因为如果这样做的话我们就每创建一个对象,就会创建一个新的属性就是肤色,其值都一样是黄色,我们把其设置为原型属性不是更好?至于方法的具体例子更多,就比如我们的工作的方法,我们有做体力活的方法,有做脑力活的方法,其实这一切在于自

5、己根据生活中的具体情况来进行设置。一、关于构造函数构造函数只需要明白其结构;Function函数名(){This.属性1;This.属性2;}函数名.prototype.方法名=function(){代码块;}。。。。一、面向对象的继承继承有两种继承方式:使用call()函数和forin遍历父对象.prototype;Call()为了解决引用共享和超类型无法传参的问题,采用一种叫借用构造函数的技术或者成为对象冒充的方法。For(variinPerson.prototype){Man.prototype[i]=Person.prototype[i]}二、相关小知识点补充:De

6、lete()删除实例属性;hasOwnProperty()测试是否具有实例。In用于先判断实例属性,再判断原型属性。一、关于设计模式概念:字面量的对象的申明,其实就是在设计模式中看作是单例模式。所谓单例模式,技术永远保持对象的一个实例应用:在多个作用域中,使用同一个非全局的对象。编写:使用私有变量instance保存单例在使用时初始化,减少资源浪费,返回闭包访问单例。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。