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对象的属性和方法的示例