分享人:宋恒
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
“面向对象编程”(Object-Oriented Programming,缩写为OOP)是目前主流的编程范式。它的核心思想是将真实世界中各种复杂的关系, 抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。面向对象的语言有一个标志,就是类的概念, 通过类可以创建任意多个具有相同属性和方法的对象。
JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象,对象以其原型为模板、从原型继承方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法。
prototype 属性:继承成员被定义的地方,继承的属性和方法是定义在 prototype 属性之上的。然后每个对象实例都具有 constructor 属性, 它指向创建该实例的构造器函数。
JavaScript 支持面向对象式编程,与主流的面向对象式编程语言不同,JavaScript 并没有类(class)的概念,(es6之前) 而是使用基于原型(prototype)的继承方式。相应的,JavaScript 中的构造函数也很特殊,如果不使用 new 调用,则和普通函数一样。 作为又一项约定俗成的准则,构造函数以大写字母开头,提醒调用者使用正确的方式调用。如果调用正确,this 绑定到新创建的对象上。
工厂模式:重复函数,浪费资源,每实例化一个对象就会占用新的内存资源
使用自定义的构造函数来创建对象,它与工厂方法区别在于:1.没有显式地创建对象2.直接将属性和方法赋值给this对象; 3.没有return语句;此外,要创建Person的实例,必须使用new关键字,以Person函数为构造函数,传递参数完成对象创建; 实际创建经过以下4个过程:
用原型构造的时候:JS每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象, 它是所有通过new操作符使用函数创建的实例的原型对象。原型对象最大特点是,所有对象实例共享它所包含的属性和方法, 也就是说,所有在原型对象中创建的属性或方法都直接被所有对象实例共享。
面向对象三大特性,封装,继承,多态.看demo。
从编程的思想角度什么是面向对象编程
1,面向过程:面向对象关注的是解决问题的步骤,2.面向对象,关注的是解决问题所需的对象(内容,角色),然后根据业务逻辑按一定规则调用这些对象的 相关功能,方法。万物皆为对象,每一个具体的物品就是一个对象
如何在js中使用面向对象
(1)访问对象的属性
1.点语法(.)和[ ]访问某一个属性
使用点语法访问属性,点后直接跟属性名
使用[ ]访问属性,[ ]里属性字符串必须是字符串类型的数据 或 保存属性名字的字符串变量
1.写在那一层里就阻止其冒泡行为。2.使用事件代理,$.on(),这其实是将事件监听(代理)在父元素上面,内部也是利用了冒泡的机制,并判断目标源,实现事件代理的。
感谢大家观看
宋恒