预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共45页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Javascript面向对象的程序设计第一节理解对象一、什么是面向对象面向对象的语言有一个标志,那就是他们都有类的概念。而通过类可以创建任意多个具有相同属性和方法的集合,下面是一个java语言面向对象的实例。 publicclassPerson { privateStringname; privateStringsex; publicPerson(){} publicPerson(Stringname,Stringsex){ this.name=name; this.sex=sex; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetSex(){ returnsex; } publicvoidsetSex(Stringsex){ this.sex=sex; } publicstaticvoidmain(String[]args){ Personperson1=newPerson("Tom","男"); System.out.println("名字是:"+person1.getName()); } } 对象的构成:属性、方法 区别:属性—变量、方法—函数 <script> vara=2;//---属性 alert(window.a); alert(a);//2 vararr=[1,2,3,4]; arr.a=12;//---变量 alert(arr.a);//12 functionshow() //---函数 { alert('a'); } show();//a arr.show=function()//-方法 { alert('b'); }; arr.show();//b </script> 变量与属性的区别 变量和属性是同一个东西,只不过变量没有所属关系,是自由的。而属性是属于一个对象的。同理,方法与函数的区别也是如此。 第一个面向对象的程序This关键字的解析二、Object类型Object的每个实例都具有下列属性和方法: 1.constructor——保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是Object(); 2.toString()——返回对象的字符串表示。 3.valueOf()——返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。 . . 由于在ECMAScript中Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。 三、Function类型第二节创建对象 <script> varperson=newObject(); person.name='Tom'; person.sex='男'; person.showName=function() { alert('我的名字是叫'+this.name); }; person.showAge=function() { alert('我是'+this.sex+'的。'); }; person.showName(); person.showAge(); </script> 缺点:使用同一个接口创建很多对象,会产生大量的重复代码。为解决这个问题,开始使用工厂模式创建面向对象的程序。 工厂模式工厂模式的缺点匿名函数的使用解决没有new的问题当函数前面有new的时候会怎么样?构造函数模式命名的规范:按照惯例,构造函数始终都应该以一个大写字母开头,而非构造函数则应该以一个小写字母开头。这个作法借鉴自其他的OO语言,这样是为了区别于ECMAScript中的其他函数;因为构造函数本色也是函数,只不过可以用来创建对象而已。 例如:newDate()、newArray() 优点: 解决了对象识别的问题 alert(person1instanceofObject);//true alert(person1instanceofPerson);//true 解决了没有new的问题 为什么要给Array的原型添加sum方法原型模式1.理解prototype-原型无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。在默认情况下,所有原型对象都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的指针。而通过这个构造函数,我们还可继续为原型对象添加其他属性和方法。当调用构造函数创建一个新实例后,该实例的内部将包含一个指针(内部