在JavaScript中创建新对象

2016-02-19 17:35 7 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的在JavaScript中创建新对象,希望大家看完后能赶快学习起来。

【 tulaoshi.com - Web开发 】

  使用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=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中的对象功能更加强大。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  b、创建数组实例

  一个数组定义完成以后,还不能马上使用,必须为该数组创建一个数组实例:

  Myarray=New arrayName(n);

  并赋于初值:

  Myarray[1]=字串1;

  Myarray[2]=字串2;

  Myarray[3]=字串3;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  ...

  Myarray[n]=字串n;

  一旦给数组赋于了初值后,数组中就具有真正意义的数据了,以后就可以在程序设计过程中直接引用。

  创建多维数组

  Function creatMArray(row,col){

  var indx=0;

  this.length=(row*10)+col

  for(var x=1;x=row;x++)

  for(var y=1;y=col;y++)

  indx=(x*10)+y;

  this[indx]=;

  }

  myMArray=new creatMArray();

  之后可通过myMArray[11]、myMArray[12]、myMArray[13]、myMArray[21]、myMArray[22]、myMArray[23]、

  来引用。

  内部数组

  在Java中为了方便内部对象的操作,可以使用窗体(Forms)、框架(Frames)、元素(element)、链接(links)和锚(Anchors)数组实现对象的访问。

  anchors[]:使用《A name=anchorName》标识来建立锚的链接。

  links[]: 使用A href=URL来定义一个越文本链接项。

  Forms[]: 在程序中使用多窗体时,建立该数组。

  Elements[]:在一个窗口中使用从个元素时,建立该数组。

  Frames[]:建立框架时,使用该数组

  anchors[]用于窗体的访问(它是通过《form name=form1》所指定的),link[]用于被链接到的锚点的访问(它是通过《a href=URL》所指定的)。Forms[]反映窗体的属性,而anchors[]反映Web页面中的链接属性。

  有关锚数组的文档:

  HTML

  HEAD

  BODY

  A NAME=MyAnchorsName1 定义第一个锚名

  HTML Code

  A NAME=MyAnchorsName2 定义第二个锚名

  HTML Code

  A HREF=#MyAnchorsName1建立锚的链接

  A HREF=#MyAnchorsName2?gt; 建立锚的链接

  .

  该文档段建立了两面全锚的链接,可通过Anchors[]访问这些锚。document.Anchors[0]反映第一个锚,而document.Anchors[1]反映第二个锚的有关信息。

  五、范例

  范例1:一个动态文字滚动的例子。

  test5_1.htm

  

htmlheadtitle/titlescript 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.pos0)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/headbody onload="scroller()" bgcolor="#000000" link="#C0C0C0" vlink="#C0C0C0"alink="#008080"text="#C0C0C0"table border="0" cellspacing="0" cellpadding="0"trtd width="100%"form NAME="noticeForm"pinput TYPE="text" name="notice" size="40" style="background-color: rgb(192,192,192)"/p/form/td/tr/table/center/div/body/html

来源:http://www.tulaoshi.com/n/20160219/1615593.html

延伸阅读
标签: Web开发
Document文档对象是JavaScript中window和frames对象的一个属性,是显示于窗口或框架内的一个文档。描述当前窗口或指定窗口对象的文档。它包含了文档从head到/body的内容。 用法:document (当前窗口) 或 窗口对象.document (指定窗口) 属性: document.title //设置文档标题等价于HTML的title标签 documen...
标签: Web开发
以下我们就用这个属性来为String对象添加三个方法:Trim,LTrim,RTrim(作用和VbScript中的同名函数一样) 代码如下: String.prototype.Trim = function() {     return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.LTrim = function() {     return&...
标签: Web开发
JavaScript 是面向对象的。但是不少人对这一点理解得并不全面。 在 JavaScript 中,对象分为两种。一种可以称为“普通对象”,就是我们所普遍理解的那些:数字、日期、用户自定义的对象(如:{})等等。 还有一种,称为“方法对象”,就是我们通常定义的 function。你可能觉得奇怪:方法就是方法,怎么成了对象了?但是在 JavaSc...
标签: Web开发
1、关于javascript的apply和call函数 prototype.js中用了大量的apply和call函数,不注意会造成理解偏差。 官方解释:应用某一对象的一个方法,用另一个对象替换当前对象。 apply与call的区别是第二个参数不同。apply是  数组或者arguments 对象。而call是逗号隔开的任何类型。 apply,call方法最让人混淆的地方也是apply,c...
标签: Web开发
JavaScript中的History历史对象包含了用户已浏览的 URL 的信息,是指历史对象指浏览器的浏览历史。鉴于安全性的需要,该对象收到很多限制,现在只剩下下列属性和方法。History历史对象有length这个属性,列出历史的项数。JavaScript 所能管到的历史被限制在用浏览器的“前进”“后退”键可以去到的范围。本属性返回的是“前进”...

经验教程

755

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部