首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript学习(5)

2012-10-07 
javascript学习(五)在JavaScript中创建新对象(李晓华 2001年04月29日 01:50)  使用JavaScript可以创建自己

javascript学习(五)
在JavaScript中创建新对象(李晓华 2001年04月29日 01:50)  使用JavaScript可以创建自己的对象。虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法。使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。  在JavaScript中创建一个新的对象是十分简单的。首先它必须定义一个对象,而后再为该对象创建一个实例。这个实例就是一个新对象,它具有对象定义中的基本特征。一、对象的定义JavaScript对象的定义,其基本格式如下:Function Object(属性表)This.prop1=prop1This.prop2=prop2...This.meth=FunctionName1;This.meth=FunctionName2;...在一个对象的定义中,可以为该对象指明其属性和方法。通过属性和方法构成了一个对象的实例。如以下是一个关于University对象的定义:Function university(name,city,creatDate URL)This.name=nameThis.city=cityThis.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","http://www.YN.KM")U2=New university(“云南电子科技大学”,“昆明”,"January 07,1997 12:00:00","htlp://www.YNKJ.CN")  三、对象方法的使用在对象中除了使用属性外,有时还需要使用方法。在对象的定义中,我们看到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中的数组 使用New创建数组JavaScript中没有提供像其它语言具有明显的数组类型,但可以通过function定义一个数组,并使用New对象操作符创建一个具有下标的数组。从而可以实现任何数据类型的存储。a、定义对象的数组Function arrayName(size){This.length=Size;for(var X=; X来定义一个越文本链接项。 Forms[]: 在程序中使用多窗体时,建立该数组。 Elements[]:在一个窗口中使用从个元素时,建立该数组。 Frames[]:建立框架时,使用该数组 anchors[]用于窗体的访问(它是通过《form name=“form1”》所指定的),link[]用于被链接到的锚点的访问(它是通过《a href=URL》所指定的)。Forms[]反映窗体的属性,而anchors[]反映Web页面中的链接属性。有关锚数组的文档: 定义第一个锚名HTML Code 定义第二个锚名HTML Code建立锚的链接<script language="JavaScript"> with (top.window.location){baseURL = href.substring (0,href.lastIndexOf ("/") + 1)}total_toc_items = 0;current_overID = "";last_overID = "";browser = navigator.appName;version = parseInt(navigator.appVersion);client=null;loaded = 0;if (browser == "Netscape" && version >= 3) client = "ns3";function toc_item (img_name,icon_col,width,height) {if (client =="ns3") {img_prefix = baseURL + img_name;this.icon_col = icon_col;this.toc_img_off = new Image (width,height);this.toc_img_off.src = img_prefix + "_off.gif";this.toc_img_on = new Image (width,height);this.toc_img_on.src = img_prefix + "_on.gif";}} function new_toc_item (img_name,icon_row,width,height) {toc_item [img_name] = new toc_item (img_name,icon_row,width,height);} function toc_mouseover (itemID) {if (client =="ns3") {current_overID = itemID;if (current_overID != last_overID) {document [current_overID].src = toc_item [current_overID].toc_img_on.src;if (last_overID != "") {document.images [last_overID].src = toc_item[last_overID].toc_img_off.src;}last_overID = current_overID;}}} function toc_mouseout () {if (client =="ns3") {if (current_overID != "") {document.images [current_overID].src = toc_item [current_overID].toc_img_off.src;}current_overID = "";last_overID = "";}}new_toc_item ("1",2,120,20);<!-- Beginfunction bannerObject(p){this.msg = MESSAGEthis.out = " "this.pos = POSITIONthis.delay = DELAYthis.i = 0this.reset = clearMessage} function clearMessage(){this.pos = POSITION}var POSITION = 50;var DELAY = 150;var MESSAGE = "这是一个动态JavaScript文字显示的例子";var scroll = new bannerObject();function scroller(){scroll.out += " ";if(scroll.pos>0)for (scroll.i = 0; scroll.i < scroll.pos; scroll.i++) { scroll.out +=" " ; }if (scroll.pos>= 0)scroll.out += scroll.msgelsescroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length)document.noticeForm.notice.value = scroll.outscroll.out = " ";scroll.pos--;scroll.pos--;if (scroll.pos < -(scroll.msg.length)) { scroll.reset(); } setTimeout('scroller()',scroll.delay);}</script>

 范例2:颜色变化的例子。test5_2.htm<script><!--function makearray(n) {this.length = n;for(var i = 1; i <= n; i++)this[i] = 0;return this;}hexa = new makearray(16);for(var i = 0; i < 10; i++)hexa[i] = i;hexa[10]="a";hexa[11]="b";hexa[12]="c";hexa[13]="d";hexa[14]="e";hexa[15]="f";function hex(i) {if (i < 0)return "00";else if (i > 255)return "ff";else return "" + hexa[Math.floor(i/16)] + hexa[i%16];}function setbgColor(r, g, b) {var hr = hex(r);var hg = hex(g);var hb = hex(b);document.bgColor = "#"+hr+hg+hb;}function fade(sr, sg, sb, er, eg, eb, step) {for(var i = 0; i <= step; i++) {setbgColor( Math.floor(sr * ((step-i)/step) + er * (i/step)),Math.floor(sg * ((step-i)/step) + eg * (i/step)), Math.floor(sb *((step-i)/step) + eb * (i/step))); }}function fadein() {fade(255,0,0,0,0,255,100);fade(0,0,255,0,255,0,100);fade(0,255,0, 0,0,0, 100);}fadein();// --></script>    本讲介绍了用户自行创建对象的方法, 用户可根据需要创建自己的对象。并介绍了JavaScript中建数组的方法。转自:[url]http://dev.csdn.net/htmls/83/83803.html[/url]

热点排行