在JavaScript中创建新对象 (李晓华 2001年04月29日 01:50) 使用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","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); <!-- Begin function bannerObject(p){ this.msg = MESSAGE this.out = " " this.pos = POSITION this.delay = DELAY this.i = 0 this.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.msg else scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length) document.noticeForm.notice.value = scroll.out scroll.out = " "; scroll.pos--; scroll.pos--; if (scroll.pos < -(scroll.msg.length)) { scroll.reset(); } setTimeout ('scroller()',scroll.delay);} </script>
详细解决方案
javascript学习(5)
热度:125 发布时间:2012-10-07 17:28:51.0
在JavaScript中创建新对象 (李晓华 2001年04月29日 01:50) 使用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","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); <!-- Begin function bannerObject(p){ this.msg = MESSAGE this.out = " " this.pos = POSITION this.delay = DELAY this.i = 0 this.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.msg else scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length) document.noticeForm.notice.value = scroll.out scroll.out = " "; scroll.pos--; scroll.pos--; if (scroll.pos < -(scroll.msg.length)) { scroll.reset(); } setTimeout ('scroller()',scroll.delay);} </script>
相关解决方案
- javascript ie6兼容的有关问题
- javascript window open在ie中设立不起作用,求解决
- javascript 字符串拼接效率有关问题
- JavaScript 自动生成图片并合并有关问题
- 不走"<script type='text/javascript'>"标签咋回事
- <script type="javascript/text">的有关问题
- 用servlet+jsp+javascript+jdbc做个简单的办公自动化系统流程,该如何解决
- 怎么打开 javascript:SetData(2010,5,10)
- javaScript = == ===区别,该怎么解决
- javascript 怎么验证name=xx.xx的radio表单
- form action 和 javascript 的提交問題解决方法
- javascript,该怎么处理
- javascript,该如何处理
- javascript 选中文字 但是保存样式 标签
- 新人求问,J2EE方向,html,css,javascript,vml要学到什么程度?解决思路
- javascript 请求servlet兑现将函数中定义的变量作为参数
- javascript 不懂,该如何处理
- javascript 不懂解决方法
- JavaScript 大局函数求实例,高分求
- javaScript 里面 如何知道Object 对象的长度
- javascript 函数调用有什么有关问题,请
- javascript 中文本框中数字如何比较
- javascript IE通过,火狐,google浏览器不过解决思路
- javascript rsa加密/java使用Cipher.getInstance("RSA/ECB/PKCS1Padding")解密,该如何处理
- IE javascript start()函数解决方案
- 关于RTMP 播放器(DELPHI C# FLASH JAVASCRIPT)解决思路
- Chrome Javascript Click 事件,该如何解决
- javascript 实出_blank跳转到新标签页有关问题
- 分享上Google Maps Javascript API v3
- javascript 绑定服务器控件 事件,该如何解决