第五讲 创建新对象
使用JavaScript可以创建自己的对象。虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法。使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。
在JavaScript中创建一个新的对象是十分简单的。首先它必须定义一个对象,而后再为该对象创建一个实例。这个实例就是一个新对象,它具有对象定义中的基本特征。
一、对象的定义
JavaScript对象的定义,其基本格式如下: Function Object(属性表) This.prop1=prop1 This.prop2=prop2 ... This.meth=FunctionName1; This.meth=FunctionName2; ... 在一个对象的定义中,可以为该对象指明其属性和方法。通过属性和方法构成了一个对象的实例。如以下是一个关于University对象的定义: Function university(name,city,creatDate URL) This.name=name This.city=city This.creatDate=New Date(creatDate) This.URL=URL 其基本含义如下: Name-指定一个“单位”名称。 City-“单位”所在城市。 CreatDate-记载university对象的更新日期。 URL-该对象指向一个网址。
二、创建对象实例
一旦对象定义完成后,就可以为该对象创建一个实例了: NewObject=New object(); 其中Newobjet是新的对象,Object已经定义好的对象。例: U1=New university(“山西省”,“太原市”,"January 05,199712:00:00"," www.shanxiwindow.net ") U2=New university(“山西省网络管理中心”,“太原”,"January 07,1997 12:00:00","htlp://www.shanxiwindow.net")
三、对象方法的使用
在对象中除了使用属性外,有时还需要使用方法。在对象的定义中,我们看到This.meth=FunctionName语句,那就是为定义对象的方法。实质对象的方法就是一个函数FunctionName,通过它实现自己的意图。 例在university对象中增加一个方法,该方法是显示它自己本身,并返回相应的字串。 function university(name,city,createDate,URL) This.Name=Name; This.city=city; This.createDate=New Date(creatDate); This.URL=URL; This.showuniversity=showuniversity; 其中This.showuniversity就是定义了一个方法---showuniversity()。 而showuniversity()方法是实现university对象本身的显示。 function showuniversity() For (var prop in this) alert(prop+="+this[prop]+""); 其中alert是JavaScript中的内部函数,显示其字符串。
四、JavaScript中的数组
1.使用New创建数组
JavaScript中没有提供像其它语言具有明显的数组类型,但可以通过function定义一个数组,并使用New对象操作符创建一个具有下标的数组。从而可以实现任何数据类型的存储。
a.定义对象的数组 Function arrayName(size){ This.length=Size; for(var X=; X<=size;X++) this[X]=0; Reture this; } 其中arrayName是定义数组的一个名子,Size是有关数组大小的值(1-size),即数组元素的个数。通过for循环对一个当前对象的数组进行定义,最后返回这个数组。 从中可以看出,JavaScript中的数组是从1到size,这与其它0到size的数组表示方法有所不同,当然你可根据需要将数组的下标由1到size调整到0到size-1,可由下列实现: Function arrayName (size) For (var X=0; X<=size;X++) this[X]=0; this.lenght=size; Return this; 从上面可以看出该方法是只是调整了this.lenght的位置,该位置是用于存储数组的大小的。从而调整后的数组的下标将与其它语言一致。但请读者注意正是由于数组下标顺序由1到size,使得JavaScript中的对象功能更加强大。
[1] [2] 下一页
|