举例:将大象放入冰箱 面向过程,就是按照我们分析好了的步骤,按照步骤解决问题。 面向对象编程 面向对象是把事务分解成为一个一个对象,然后由对象之间分工合作。...举例:将大象装进冰箱,面向对象做法: 先找出对象,并写出这些对象的功能: 大象对象 进去 冰箱对象 打卡/关闭 使用大象和冰箱的功能 面向对象是以对象功能来划分问题,而不是步骤。...面向对象的特性: 封装性 继承性 多态性 面向过程和面向对象的对比 面向过程 面向对象 优点:性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。...ES6中的类和对象 面向对象 面向对象更贴近我们的实际生活,可以使用面向对象描述现实世界事物,但是事物为具体的事物和抽象的事物 面向对象的思维特点: 抽取(抽象)对象公用的属性和行为组织(封装)成一个类...面向对象编程我们考虑的是有那些对象,按照面向对象的思维特点,不断的创建对象,使用对象,指挥对象做事情。 对象 现实生活中,万物皆对象,对象是一个具体的事物,看得见摸得着的事物。
1.面向过程与面向对象1.1面向过程面向过程就是分析出... 请注意,本文编写于 2067 天前,最后修改于 173 天前,其中某些信息可能已经过时。...1.2面向对象 面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。...1.3面向过程与面向对象对比 差异 面向过程 面向对象 优点 性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。.../styles/style.css"> Js 面向对象 动态添加标签页 项目代码JS部分: var thisReplace; // 定义一个全局Bian量用来传递对象函数中的this class Tab
高级Js-面向对象编程 目录 JavaScript Window-浏览器对象模型 匿名包装器 工厂方式 工厂方式改进版 同一个引用 构造函数与new命令 prototype 对象 面向对象的写法 原型链...面向对象的继承 面向组件编程 命名空间 JavaScript Window-浏览器对象模型 浏览器对象模型(BOM) 所有浏览器都支持 window 对象....工厂方式构建对象的问题 js会增大内存的开销,导致执行效率下降 showName 方法是属于两个不同对象的, 即便方法名相同, 也是不等的....添加到原型上 面向对象程序的this指向 哪个对象调用了this所在成员方法,this就指向哪个对象 原型链 实例对象与原型之间的连接,叫做原型链 只要是处在原型链上的属性方法,我们都可以调用...面向组件编程 组件的定义 对面向对象的深入应用(UI组件,功能组件),提升程序的可复用性 组件代码设计模式 匿名函数自执行,封闭作用域空间 通过返回内部方法引用的形式,向外公开接口 组件内部采用传统混合设计模式的三段式
本篇是通过学习视频《一头扎进javascirpt高级篇》整理的一些相关知识,大致包括下面几个方面: 1 对象的创建方法 2 对象的对象属性、私有属性、类属性 3 对象的对象方法、私有方法... 对象的属性分为对象属性、私有属性和类属性。 ...对象属性需要创建对象后才能使用; 私有属性在内部可以直接使用,在外部需要通过闭包才能使用。 类属性可以通过对象名称直接使用。 ...-- 私有属性可以通过闭包获取 --> 对象的方法 对象方法包括:对象方法,私有方法和类方法,使用类似前面的属性。...var f = new demoFunc1(); f.objFunc1(); f.objFunc2(); 继承、封装与多态 JS
目录 面向对象编程 ES6中的类和对象 构造函数和原型 对象原型__proto__ constructor构造函数 构造函数、实例、原型对象三者之间的关系 原型链 扩展内置对象 继承 ---- 面向对象编程...; 即将大象装进冰箱,从面向过程来看,需要打开冰箱门、装进去大象、关上冰箱门 面向对象编程OOP(Object Oriented Programming) 面向对象即把事务分解成为一个个对象,然后由对象之间分工与合作...、继承性、多态性等特性; 即将大象装进冰箱,从面向对象来看,要先找出对象,并写出 这些对象的功能;如大象对象,冰箱对象; 面向过程与面向对象编程思想两种方式对比: 面向过程 面向对象 优点 性能比面向对象高...,适合跟硬件联系很紧密的东西,如单片机就采用的面向过程编程 易维护、易复用、易拓展,可设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点 没有面向对象易维护、易复用、易拓展 性能比面向对象低 面向对象的思维特点...,即为对象成员变量赋初始值,它总与new一起使用,他们可把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面; 在JS中,使用构造函数时要注意以下两点: 1、构造函数用于创建某一类对象
JS面向对象 理解对象 数据(数据描述符)属性 数据属性有4个描述内部属性的特性 [[Configurable]] 表示能否通过delete删除此属性,能否修改属性的特性,或能否修改把属性修改为访问器属性...默认为 undefined 创建/修改/获取属性的方法 Object.defineProperty() 功能:方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。...,并返回该对象。...各种场景下描述符属性的的扩展示例讲解 . configurable 如果设置configurable属性为false,则不可使用delete操作符(在严格模式下抛出错误), 修改所有内部属性值会抛出错误,在《javaScript高级教程中...input2"> 我每次比input1的值加1=> js
//第1种写法 function Circle(r) { this.r = r; } Circle....
面向对象和面向过程区别面向对象是把构成问题的事物拆解为各个对象,来描述这个事物在当前问题中的行为,而不是为了实现某个步骤 面向过程,是分析出实现问题的每个步骤,然后编写函数,并依次调用。...面向对象特点封装 让使用的人不考虑内部实现,只考虑功能使用,把内部代码保护起来,提供api接口让用户调用继承 从父类继承出一些方法和属性,利于代码复用多态 不同对象作用于同一操作产生不能效果JS三大对象宿主对象所有非本地对象都属于宿主对象所有...DOM和BOM对象都属于宿主对象嵌入到网页的JS来说,宿主对象就是浏览器提供的,比如:Window和Documnet等本地对象包括:Object、Array、Date、RegExp、Boolean、Number...、String这些引用类型在运行过程中需要通过new来创建所需的实例对象内置对象是本地对象的子集在ECMAScript程序开始执行前就存在,本身就是实例化内置对象,开发者无需再实例化内置独享有Global...构造函数/创建实例 通过this添加的对象和属性都指向当前对象,所以在实例化的时候,通过this添加的方法和属性都会在内存中复制一份。
有,用于给子类对象进行初始化。 2,抽象类可以不定义抽象方法吗? 可以的。 但是很少见,目的就是不让该类创建对象。AWT的适配器对象就是这种类。 通常这个类中的方法有方法体,但是却没有内容。...---- 多态 对象的多态性。...这就是对象的多态性。 简单说:就是一个对象对应着不同类型. 多态在代码中的体现: 父类或者接口的引用指向其子类的对象。...在类的内部直接创建一个接口的实现类对象 必须有前提: 内部类必须继承或者实现一个外部类或者接口。 匿名内部类:其实就是一个匿名子类对象。 ...==:对于引用类型,表叫俩个对象的内存地址是否相同,要求俩边对象是类型兼容的,若不兼容,则编译出错 2.Object类的equals方法:原义是比较俩个对象的内存地址是否相同,可以传入任何对象,通常情况我们
什么是类变量 类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。...类方法可以通过类名调用,也可以通过对象名调用。普通方法和对象有关,需要通过对象名调用,比如对象名.方法名(参数),不能通过类名调用。...但是,不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员。...在类的内部直接创建对象(该对象是static) // 3....这里 外部类名.this 本质上就是外部类的对象,即哪个对象调用了n2,那么 外部类名.this 就指向哪个对象。
话说,再次看完这个实例后的我,开始怀疑面向对象和JSON的区别。。。并开始怀疑这是面向对象的真实性 <!...return no; } } cat(cName); */ //方法2 var cat1={ "name":"小白", "age":"3", "color":"white" } //或者可以第二种声明一个新对象的方法
面向对象编程 在学习了js高级以及es6之后,再来学习面向对象编程,之前在学习es6,canvas的时候已经有接触到了这种思想,感觉还是需要在深入的学习一下,这部分内容牵扯到很多原型链部分的东西,当做复习一下还是很不错的...ES5中的面向对象 面向对象编程(OOP)具有灵活、代码可复用、高度模块化等特点。...对象是单个实物的抽象 对象是一个容器,封装了对应的属性和方法,属性是对象的状态,方法是对象的行为(完成的任务) 构造函数实例化对象 在ES5中没有class类的概念,所以面向对象是基于构造函数和原型链的...:js引擎会先寻找对象本身的属性和方法,如果找不到就到它的原型对象去找,如果还是找不到,就到原型的原型去找,如果直到最顶层的Object.prototype还是找不到,就会返回undefined constructor...---- 在ES6中新增了class类的关键字,以及一些相关属性,优化了先前的面向对象代码可读性低的问题,新的class写法让对象原型的写法更加清晰,更加的像面向对象编程的语法,因此class也只是一个语法糖
ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。...js(如果没有作特殊说明,本文中的js仅包含ES5以内的内容)本身是没有class类型的,但是每个函数都有一个prototype属性。...prototype指向一个对象,当函数作为构造函数时,prototype则起到类似class的作用。 一.创建对象 创建一个对象,然后给这个对象新建属性和方法。...1)__proto__和prototype JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。...四.继承 继承是面向对象中一个比较核心的概念。其他正统面向对象语言都会用两种方式实现继承:一个是接口实现,一个是继承。
一、js零散笔记 0、匿名函数定以后直接调用:(function(numA, numB) { alert(numA + numB); })(3,4);//弹窗7 1、js中函数就是对象,对象就是函数。...arguments表示函数的参数集合 2、js中方法直接调用为函数,用new调用为对象。...JavaScript中没有类的语法,是用函数闭包模拟出来的 3、js中给对象动态添加属性示例: //定义一个函数 function Person(){ } //1、直接调用函数名,就只是单纯的表示调用函数...Person(); //2、是用new,表示创建了一个对象,js是动态语言,可以给对象动态添加属性和方法 var per = new Person(); per.name = "大锤"; //...给per对象动态添加方法sayHi //调用per对象的属性和方法 alert(per.name);//或者alert(per['name']); per.sayHi(); 4、js中支持this关键字
一、面向过程和面向对象 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 ?...二、类和对象 1、类的概念 面向对象编程的2个非常重要的概念:类和对象是面向对象编程的核心。...2、对象的概念(万事万物皆对象) 对象是具体事物,具有唯一性,一定能确定是哪一个的就是对象。...通过上面,定义了一个Car类;就好比有车一个张图纸,那么接下来就应该把图纸交给生成工人们去生成了 python中,可以根据已经定义的类去创建出一个个对象 创建对象的格式为: 对象名 = 类名() 创建对象...,此对象的引用计数就会加1 当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3,那么此时只会让这个对象的引用计数减1,即变为2,当再次调用del时,变为1,如果在调用1次的时候,此时才会把对象删除
这部分内容还是比较难理解的,像借用构造函数这种方法,实际工作中还是很常见的,不过对于后面的寄生理解还有点困难,只能慢慢学习了。 思维导图
面向对象与面向过程 面向对象和面向过程是两种不同的编程思想,刚开始接触编程的时候,我们大都是从面向过程起步的,毕竟像我一样,大家接触的第一门计算机语言大概率都是C语言,C语言就是一门典型的面向过程的计算机语言...面向过程主要是以动词为主,解决问题的方式是按照顺序一步一步调用不同的函数。面向对象是以名词为主,将问题抽象出具体的对象,而这个对象有自己的属性和方法,在解决问题的时候,是将不同的对象组合在一起使用。...//面向过程装大象1.开(冰箱)2.(大象)装进(冰箱)3.关(冰箱) //面向对象装大象1. 冰箱.开门()2. 冰箱.装进(大象)3....冰箱.关门() 从这个例子可以看出,面向对象是以主谓为主,将主谓堪称一个一个的对象,然后对象有自己的属性和方法。面向对象是以功能来划分问题的,而不是步骤。...功能上的统一保证了面向对象设计的可扩展性,解决了代码重用性的问题。这也是在漫长的程序设计的发展过程中得到的验证结果,面向对象的编程思想较之于面向过程较好一点。
JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) ? 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程....面向对象的一些概念: Namespace 命名空间 允许开发人员在一个独特, 应用相关的名字的名称下捆绑所有功能的容器。 Class 类 定义对象的特征。它是对象的属性和方法的模板定义....类(从MVC提炼面向对象是什么) 使用的代码是 模块化、MVC里的V和C、闭包与立即执行函数的使用和MVC中的M(model)、MVC总结 接下来优化老版本的message.js 箭头函数内外this相通...总结: 面向对象就是既然这些对象有相同的属性和相同的行为,那么就把相同的地方存到一个地方,当做一个模板.这就叫类 当需要生成对象的时候,new一个对象出来,这个对象就有这个模板上的属性和行为.这就叫实例化一个对象...面向对象的核心就是实例化一个对象 其他:对象的方法 以下引用自MDNjavascript面向对象 如果一个Object的的属性是函数,那么这个属性叫方法 在JavaScript中方法通常是一个绑定到对象中的普通函数
“ 温故而知新 ” 写在前面 学习主线 知识点复习 阶段一 0x01:编程思想:面向过程&面向对象 0x02:经典案例:把大象装进冰箱 0x03:理解 “万事万物皆对象” 0x04:内存解析的说明...知识点复习 查阅资料的过程中发现的重点 阶段一 完善中 0x01:编程思想:面向过程&面向对象 面向过程(POP)与面向对象的区别(OOP) 两者都是一种编程思想,面向对象是由面向过程延伸而来的...面向过程,强调的是功能的行为,以函数为最小的单位,重点考虑的是怎么做。 面向对象,将功能封装进对象,强调具备了功能的某个对象, 以类或者对象为最小的单位,考虑的是谁来做。...面向对象更加强调运用人类在日常生活中的思维逻辑所采用的思想方法以及原则,如抽象、分类、继承、聚合、多态等。...① 把冰箱门打开 ② 抬起大象,塞进冰箱 ② 把冰箱门关闭 面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做,以下面的伪代码来举例 人{ 打开(冰箱){ 冰箱.开开
--------------- 2、property 方法转属性 @property 把一个方法 伪装成一个属性 1.属性的值 是这个方法的返回值 2.这个方法不能有参数了 3.类不能调用,只能对象调用...额外知识: 那么,怎么判断一个变量是对象还是函数呢?...其实,更多的时候,我们需要判断一个对象是否能被调用,能被调用的对象就是一个Callable对象,比如函数和我们上面定义的带有__call__()的类实例: >>> callable(Student())...callable([1, 2, 3]) False >>> callable(None) False >>> callable('str') False 通过callable()函数,我们就可以判断一个对象是否是...“可调用”对象。
领取专属 10元无门槛券
手把手带您无忧上云