面向对象

面向对象就是把数据及对数据的操作方法放在一起,作为一个相互依存的整体--对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。

面向过程就是自顶向下顺序执行,逐步求精,其程序结构是按功能划分为若干个基本模块,这些某块形成一个树状结构;各模块之间的联系尽可能简单,在功能上相对独立;每一个模块内部均由顺序、选择和循环三种基本结构组成,其模块化实现的具体方法是使用子程序。程序流程在写程序时就已决定。

构造函数与工厂函数的差异
1.工厂函数需要创建对象,以及必须有返回值
2.工厂函数针对的都是object的对象模型,而构造函数可以匹配自定义的对象模型
3.构造函数的弊端:如果在全局中定义相同的局部变量,容易造成全局污染,因为this.xx在局部获取不到,就会去全局中获取
4.构造函数可以重写,可以在全局中添加新属性和方法person.prototype={},但工厂函数只能在局部添加

原型
每个函数都有一个属性叫做prototype,prototype是一个对象模型,默认的只有一个叫做constructor的属性,只想这个函数本身;每一个实例对象都有一个proto指针,指向构造函数的prototype原型
原型对象的作用*
定义所有对象实例所共享的属性和方法

继承
特点:子类能够继承父类的所有属性和方法
1.原型链继承
访问顺序:当访问一个对象的属性和方法时,如果当前对象拥有,那么直接调用,否则向他的父级找,如果父级有,那么直接调用,否则继续向上找,直到找到object基类位置,入股最终没找到返回undefined
确定原型与实例的关系
instanceOf:判断一个实例对象是否是某个构造函数的实例
isPrototype():只要原型链中出现过的原型,都可以说是原型链所派生的实例的原型。
2.构造函数继承
call()和apply()
二者用途相同:用来调用函数,传入函数的参数用来改变函数中的this的指向
区别:第二个参数不同,apply第二个参数是数组
3.组合式继承
使用原型链实现原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承。这样既通过在原型上定义方法实现了函数调用,有保证每个实例都有他自己的属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 5,319评论 3 12
  • 本章内容 理解对象属性 理解并创建对象 理解继承 面向对象语言有一个标志,那就是它们都有类的概念,而通过类可以创建...
    闷油瓶小张阅读 4,365评论 0 1
  • 普通创建对象和字面量创建对象不足之处:虽然 Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有...
    believedream阅读 7,170评论 2 18
  • 又是一年毕业季,六月,夏日的骄阳似火般炙烤着整个城市,城市就如一个大火炉,烤得人们燥热难耐。即将毕业的学子们...
    奔跑的笔尖阅读 3,486评论 6 6
  • 我怪异 另类 独立 自处 骄傲 我偏执 阴暗 倔强 热爱 孤独 我信仰却也纠缠 不一般却也普通 我是第十一个人有十...
    _笙歌阅读 2,924评论 0 6

友情链接更多精彩内容