搞定J2EE核心技术与企业应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.4 系统内部对象

虽然JavaScript并不是面向对象的编程语言,但通常认为它是基于对象的编程语言,它支持多种对象类型,并可以创建对象实例,通过对象的属性和方法可以访问相关对象的功能。本节主要讲述JavaScript提供的一系列内置对象,这些内置对象实现了一些通用的功能,开发人员可以直接拿来使用。

4.4.1 Array对象

Array对象用来创建数组,一共有4种方法来定义数组,分别如下:

      var myArray = new Array(); //创建一个空的数组
      var myArray = new Array(5);//创建一个大小为5的数组
      var myArray = new (0,1,2,3);//采用new的方法创建一个包含元素0、1、2、3的数组
      var myArray=[0,1,2,3];     //采用方括号的方式创建一个包含元素0、1、2、3的数组

这里需要注意的是new Array(5)和new Array("5")的区别,前者的意思是创建一个大小为5的数组,后者的意思是创建一个包含元素5的数组。数组的起始坐标为0,即new Array(5)表示该数组大小为5,坐标从0开始一直到4。如果对myArray[5]进行赋值,则该数组的长度自动变为6。

数组是没有类型限制的,即数组中存放的内容可以是任何数据类型。因此数组中也可以存放数组类型,这样就可以实现多维数组了。

实现多维数组的示例代码如下:

      var myArray =new Array();
      myArray [0]=new Array("1","2","3");
      myArray [1]=new Array("4","5","6");
      myArray [2]=new Array("7","8","9");

既然是对象,那么肯定有属性和方法,Array对象本身也提供了一些属性和方法,供开发者使用。Array对象的属性如表4.10所示。

表4.10 Array对象的属性

Array对象的方法如表4.11所示。

表4.11 Array对象的方法

4.4.2 Object对象

Object对象是一切对象的父对象,所有的对象都继承于它,因此它拥有的属性和方法,其他对象也都拥有。也就是说,如果针对Object对象添加了一些属性和方法,则其他的对象也同时拥有了这些属性和方法。

Object对象的属性如表4.12所示。

表4.12 Object对象的属性

Object对象的方法如表4.13所示。

表4.13 Object对象的方法

使用Object对象的属性和方法的示例代码如下:

      <HTML>
      <HEAD>
      <TITLE>使用Object对象的示例</TITLE>
      <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
      <!--
      var obj1=new Object(false);
      var obj2=new Object("Hello World!");
      document.write("obj1=new Object(false)"+"<BR>")
      document.write("obj1.constructor="+obj1.constructor+"<BR>");
      document.write("obj1.valueOf()="+obj1.valueOf()+"<BR>");
      document.write("obj1.toString()="+obj1.toString()+"<BR>");
      document.write("obj2=new Object("Hello World!")"+"<BR>")
      document.write("obj2.constructor="+obj2.constructor+"<BR>");
      document.write("obj2.valueOf()="+obj2.valueOf()+"<BR>");
      document.write("obj2.toString()="+obj2.toString()+"<BR>");
      //-->
      </SCRIPT>
      </HEAD>
      <BODY>
      </BODY>
      </HTML>

上述代码运行后的结果如图4.10所示。

图4.10 使用Object对象的属性和方法的示例

4.4.3 Window对象

Window对象是当前浏览器的窗口对象,是所有浏览器对象的父对象,它包含了Document、Navigator、Location、History等子对象。

Window对象的属性如表4.14所示。

表4.14 Window对象的属性

Window对象的方法如表4.15所示。

表4.15 Window对象的方法

使用Window对象的属性和方法的示例代码如下:

      <HTML>
      <HEAD>
          <TITLE>moveBy() 方法和moveTo() 方法示例</TITLE>
      <HEAD>
      <BODY>
      <FORM name=form1>
          <INPUT TYPE = BUTTON Value = "向右下移动" onClick =moveBy(10,10)>
          <INPUT TYPE = BUTTON Value = "向左上移动" onClick =moveBy(-10,-10)>
          <P>
          <INPUT TYPE=BUTTON Value="移动到 (10,10)"onClick=moveTo(10,10)>
        <INPUT TYPE=BUTTON Value="移动到 (-10,-10)"onClick=moveTo(-10,-10)>
      </FORM>
      </BODY>
      </HTML>

上述代码运行后的结果如图4.11所示。

图4.11 使用Window对象的属性和方法的示例

4.4.4 Navigator对象

Navigator对象用来获取当前浏览器的各种信息,它是Window对象的子对象,主要用于判断客户端使用的是什么浏览器。

Navigator对象的属性如表4.16所示。

表4.16 Navigator对象的属性

Navigator对象的方法如表4.17所示。

表4.17 Navigator对象的方法

使用Navigator对象的属性和方法的示例代码如下:

      <HTML>
      <HEAD>
          <TITLE>使用Navigator对象</TITLE>
      </HEAD>
      <BODY>
      <H2 align=center>显示浏览器信息……</H2>
      <SCRIPT LANGUAGE = JavaScript TYPE="text/javascript">
      <!--
          document.write("浏览器代码名称:"+window.navigator.appCodeName+"<BR>")
          //访问Navigator对象时可以用window.navigator,也可以直接用Navigator
          document.write("浏览器名称:"+navigator.appName+"<BR>")
          document.write("浏览器版本号:"+navigator.appVersion+"<BR>")
          document.write("是否支持Java:"+navigator.javaEnabled()+"<BR>")
          document.write("MIME类型数:"+navigator.mimeTypes.length+"<BR>")
          document.write("操作系统平台:"+navigator.platform+"<BR>")
          document.write("插件数:"+navigator.plugins.length+"<BR>")
          document.write("用户代理:"+navigator.userAgent+"<BR>")
      -->
      </SCRIPT>
      </BODY>
      </HTML>

上述代码运行后的结果如图4.12所示。

图4.12 使用Navigator对象的属性和方法的示例

4.4.5 Location对象

Location对象是一种特殊的链接对象,它代表当前窗口中所装入文档的URL,通常用于重新装入新的文档。

Location对象的属性如表4.18所示。

表4.18 Location对象的属性

Location对象的方法如表4.19所示。

表4.19 Location对象的方法

使用Location对象的属性和方法的示例代码如下:

      <HTML>
      <HEAD>
      <TITLE>Location对象方法示例</TITLE>
      <SCRIPT LANGUAGE = JavaScript TYPE="text/javascript">
      <!--
      function jump1()
      {
          window.location = document.form1.URL_Textbox.value;
          //获取用户输入的网页地址
      }
      function jump2()
      {
          window.location.replace(document.form1.URL_Textbox.value);
      }
      //-->
      </SCRIPT>
      </HEAD>
      <BODY>
      <DIV align=center>
      <H1>输入网页地址</H1>
      <FORM NAME = form1>
      <BR>
      <INPUT TYPE = TEXT NAME = "URL_Textbox" SIZE = 60>
      <BR><BR>
      <INPUT TYPE = BUTTON Value = "跳转" onClick = "jump1()">
      <INPUT TYPE = BUTTON Value = "替换" onClick = "jump2()">
      </FORM>
      </DIV>
      </BODY>
      </HTML>

上述代码运行后的结果如图4.13所示。

图4.13 使用Location对象的属性和方法的示例

4.4.6 History对象

History对象代表浏览器的历史列表,使用户可以跟踪窗口中曾经使用过的URL。History对象的属性如表4.20所示。

表4.20 History对象的属性

History对象的方法如表4.21所示。

表4.21 History对象的方法

使用History对象的属性和方法的示例代码如下:

      <HTML>
      <HEAD>
      <TITLE>使用History对象</TITLE>
      <SCRIPT LANGUAGE = JavaScript TYPE="text/javascript">
      <!--
      function back()
      {  window.history.back()  //使用window.history与使用History对象的效果一样
      }
      function forward()
      {  window.history.forward()
      }
      function go()
      {  window.history.go(document.form1.num.value)
      }
      //-->
      </SCRIPT>
      </HEAD>
      <BODY>
      <FORM name=form1>
      <INPUT TYPE=BUTTON Value="< 上一页"onClick="back()">
      <INPUT TYPE=BUTTON Value="下一页 >"onClick="forward()"><P>
      <INPUT TYPE=BUTTON Value="<< 跳转多页 >>"onClick="go()">
      <INPUT name=num size=2>
      </FORM>
      <SCRIPT LANGUAGE = JavaScript TYPE="text/javascript">
      <!--
        document.write("<B>当前历史列表的长度为:"+history.length+"</B>")
      //-->
      </SCRIPT>
      </DIV>
      </BODY>
      </HTML>

上述代码运行后的结果如图4.14所示。

图4.14 使用History对象的属性和方法的示例

4.4.7 Screen对象

Screen对象表示用户屏幕,它提供了屏幕尺寸和颜色深度等信息。

Screen对象的属性如表4.22所示。

表4.22 Screen对象的属性

使用Screen对象的属性和方法的示例代码如下:

      <HTML>
      <HEAD>
          <TITLE>使用Screen对象</TITLE>
      </HEAD>
      <BODY>
      <H2 align=center>显示屏幕信息……</H2>
      <SCRIPT LANGUAGE = JavaScript TYPE="text/javascript">
      <!--
          document.write("屏幕允许高度:"+window.screen.availHeight+"<BR>")
          //访问Screen对象时可以用window.screen,也可以直接用Screen
          document.write("屏幕允许宽度:"+screen.availWidth+"<BR>")
          document.write("颜色深度:"+screen.colorDepth+"<BR>")
          document.write("屏幕高度:"+screen.height+"<BR>")
          document.write("屏幕宽度:"+screen.width+"<BR>")
      -->
      </SCRIPT>
      </BODY>
      </HTML>

上述代码运行后的结果如图4.15所示。

图4.15 使用Screen对象的属性和方法的示例