Javascript面向对象--创建对象.构造函数的原型 其实:JavaScript中的创建类,就是创建一个构造函数,在创建对象时用到new这个关键字, 一.创建对象 1.函数创建对象 function creatObj(name,age){ //手动创建一个对象 var obj={} //为对象添加属性 obj.name=name obj.age=age obj.sayHi=function(){ console.log("hello world!") } //返回对象 return…
什么是面向对象: 使用对象时,只关注对象提供的功能,不关注其内部的细节 例如:jquery 什么是对象: 对象是一个整体对外提供一些操作,比如 收音机 面向对象编程OOP的特点: 1.抽象:把主要的特征.跟问题相关的特征抽出来 2.封装:看不到里面的东西,把表面的功能用好 3.继承:遗传,从父类上继承出一些方法,子类又有一些自己的特性(最大限度重用已有的代码) 继承又分: 多重继承 多态继承 对象的组成: 1.方法——相当于函数:过程.动态 例如: function aaa(){ //函数 自由…
原型(prototype) JavaScript是通过原型(prototype)进行对象之间的继承.当一个对象A继承自另外一个对象B后,A就拥有了B中定义的属性,而B就成为了A的原型.JavaScript中定义了Object.create()方法.该方法创建一个对象,将方法的第一个参数作为所创建对象的原型(这个方法支持可选的第二个参数,用于对对象的属性进行描述,详细可以参考<JavaScript:The Definitive Guide>).如下面代码所示: var obj1 = {name:…
面向对象编程:   面向:以什么为主,基于什么模式 对象:由键值对组成,可以用来描述事物,存储数据的一种数据格式 编程:使用代码解决需求   面向过程编程:         按照我们分析好的步骤,按步骤解决问题         优点:性能比面向对象高,适合跟硬件联系很紧密的东西         缺点:没有面向对象那么容易维护,复用,扩展   面向对象编程:         把事务分解成一个个对象,然后由对象之间分工与合作,分工明确,每一个对象都是功能中心         面向对象特性:封装性.继…
动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作.由于需求的变化,这些对象经常面临着剧烈的变化,但他们却拥有比较稳定一致的接口. 如何应对这种变化?如何向“客户程序(使用这些对象的)”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求的改变而改变. 意图(Intent) 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象.   ----<设计模式> GOF 结构(Structure)…
   有一段时间没写东西了,今天继续把没写完的设计模式写完,今天这堂课是创建型设计模式的最后一堂课,原型设计模式,它同样也是解决了对象在创建的过程中的解耦合的情况,面对变化使代码更稳定,更准确的说是使创建对象的主业务逻辑更稳定.好了,我们继续.我们县讨论一下依赖关系.    依赖关系的倒置 抽象不应该依赖于实现细节,实现细节应该依赖于抽象. -抽象A直接依赖于实现细节b,实现细节b就类似我要吃米饭,上午可能要吃米饭,下午就可能要吃炸酱面,每个人习惯不同,这个是经常变化的.对于软件设计来说,我们可…
什么是原型? 首先我们创建一个简单的空对象,再把它打印出来 var example = {} console.log(example) 结果如下: { __proto__: { constructor: ƒ Object(), hasOwnProperty: ƒ hasOwnProperty(), isPrototypeOf: ƒ isPrototypeOf(), propertyIsEnumerable: ƒ propertyIsEnumerable(), toLocaleString: ƒ…
window.onload=function(){ new Preson('liujian','男').show(); new Work('liujian','男','工人').show(); new Work('liujian','男','工人').ShowWork(); } function Preson(name,sex){ this.name=name; this.sex=sex; } Preson.prototype={ show:function(){ console.log( th…
交叉着写Java和Javascript都有2年多了,今天来总结下自己所了解的Javascript类与继承. Javascript本身没有类似Java的面向对象的类与继承术语,但其基于原型对象的思想却可以轻松实现各种类和继承. 下面来描述实现类的第一种方法,请看例子: function People(name, age){ this.name = name; this.age = age; this.say = function(){ console.log('hello, javascript!…
面向对象的开发方法(Object oriented,OO)认为是好文章吧,拿来分享一下(转载) 面向对象的开发方法(Object oriented,OO) 从事软件开发的工程 师们常常有这样 的体会:在软件开发过程中,使用者会不断地提出各种更改要求,即使在软件投入使用后,也常常需要对其做出修改,在用结构化开发的程序中,这种修改往往是很 困难的,而且还会因为计划或考虑不周,不但旧错误没有得到彻底改正,又引入了新的错误:另一方面,在过去的程序开发中,代码的重用率很低,使得程序员的效 率并不高,为提高…