2009年4月5日 星期日

JavaScript中的Document文档对象


Document档对象是JavaScriptwindowframes对象的一个属性,显示于窗口或框架内的一个文档。描述当前窗口或指定窗口对象的文档。它包含了文档从head>到</body>的内容。
用法:document (当前窗口) <窗口对象>.document (指定窗口)

属性:

  • document.title //设置文档标题等价于HTML的<title标签
  • document.bgColor //设置页面背景色
  • document.fgColor //设置前景色(文本颜色)
  • document.linkColor //未点击过的链接颜色
  • document.alinkColor //激活链接(焦点在此链接上)颜色
  • document.vlinkColor //已点击过的链接颜色
  • document.URL //设置URL属性从而在同一窗口打开另一网页
  • document.fileCreatedDate //文件建立日期,只读属性
  • document.fileModifiedDate //文件修改日期,只读属性
  • document.fileSize //文件大小,只读属性
  • document.cookie //设置和读出cookie
  • document.charset //设置字符集 简体中文:gb2312
  • cookie 关于 cookie 请参看使用框架和 Cookies”一章。
  • lastModified 当前文档的最后修改日期,是一个 Date 对象。
  • referrer 如果当前文档是通过点击连接打开的,则 referrer 返回原来的 URL
  • title 指<head标记里用title.../title>定义的文字。在 Netscape 里本属性不接受赋值。
  • fgColor 指<body标记的 text 属性所表示的文本颜色。
  • bgColor 指<body标记的 bgcolor 属性所表示的背景颜色。
  • linkColor 指<body标记的 link 属性所表示的连接颜色。
  • alinkColor 指<body标记的 alink 属性所表示的活动连接颜色。
  • vlinkColor 指<body标记的 vlink 属性所表示的已访问连接颜色。



方法:

  • open() 开文档以便 JavaScript 能向文档的当前位置(指插入 JavaScript 的位置)写入数据。通常不需要用这个方法,在需要的时候 JavaScript 自动调用。
  • write(); writeln() 向文档写入数据,所写入的会当成标准文档 HTML 来处理。writeln() write() 的不同点在于,writeln() 在写入数据以后会加一个换行。这个换行只是在 HTML 换行,具体情况能不能够是显示出来的文字换行,要看插入 JavaScript 的位置而定。如在<pre标记中插入,这个换行也会体现在文档中。
  • clear() 清空当前文档。
  • close() 关闭文档,停止写入数据。如果用了 write[ln]() clear() 方法,就一定要用 close() 方法来保证所做的更改能够显示出来。如果文档还没有完全读取,也就是说,JavaScript 是插在文档中的,那就不必使用该方法。



现在我们已经拥有足够的知识来做以下这个很多网站都有的弹出式更新通知了。

<script language="JavaScript">

var whatsNew = open('','_blank','top=50,left=50,width=200,height=300,' +

                'menubar=no,toolbar=no,directories=no,location=no,' +

                'status=no,resizable=no,scrollbars=yes');

whatsNew.document.write('<center><b>更新通知</b></center>');

whatsNew.document.write('<p>最后更新日期:00.08.01');

whatsNew.document.write('<p>00.08.01:增加了“我的最目。');

whatsNew.document.write('<p align="right">' +

                '<a href="javascript:self.close()">关闭窗口</a>');

whatsNew.document.close();

</script>

当然也可以先写好一个 HTML 文件,在 open() 方法中直接 load 这个文件。


JavaScript中的Location地址对象

location 地址对象 它描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。先前写了一片用window.location.href实现刷新另个框架页面 ,特此我看了一下locaiton的详细用法,对此有点改进,具体如下:  

注意:属于不同协议或不同主机的两个地址之间不能互相引用对方的 location 对象,这是出于安全性的需要。例如,当前窗口打开的是“www.a.com”下面的某一页,另外一个窗口(对象名为:bWindow)打开的是“www.b.com”的网页。如果在当前窗口使用“bWindow.location”,就会出错:“没有权限”。这个错误是不能用错误处理程序(Event Handler,参阅 onerror 事件)来接收处理的。

第一、简单介绍一下location属性、用法以及相关示例:  
Location  
包含了关于当前 URL 的信息。location对象描述了与一个给定的 Window 对象关联的完整 URL。location 对象的每个属性都描述了 URL 的不同特性。
通常情况下,一个 URL 会有下面的格式:协议//主机:端口/路径名称#哈希标识?搜索条件
例如:http://www.ijavascript.cn/jiaocheng/index.html#topic1?x=7&y=2 这些部分是满足下列需求的:


  • “协议”是 URL 的起始部分,直到包含到第一个冒号。   
  • “主机”描述了主机和域名,或者一个网络主机的 IP 地址。  
  • “端口”描述了服务器用于通讯的通讯端口。   
  • 路径名称描述了 URL 的路径方面的信息。  
  • “哈希标识”描述了 URL 中的锚名称,包括哈希掩码(#)。此属性只应用于 HTTP 的 URL。   
  • “搜索条件”描述了该 URL 中的任何查询信息,包括问号。此属性只应用于 HTTP 的 URL。“搜索条件”字符串包含变量和值的配对;每对之间由一个“&”连接。
   

属性概览  

  • protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。
  • hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
  • port 返回地址的端口号,一般 http 的端口号是 '80'。
  • host 返回主机名和端口号,如:'www.a.com:8080'。
  • pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
  • hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。
  • search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。
  • href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”来达到此目的。


方法概览  

  • reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。
  • replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。
  

二、location之页面跳转js如下:  
//简单跳转
function gotoPage(url) {  
// eg. var url = "newsview.html?catalogid="+catalogID+"&pageid="+pageid;  
window.location = url;  

// 对location用法的升级,为单个页面传递参数
function goto_catalog(iCat) {  
if(iCat<=0) {  
top.location = "../index.aspx"; // top出去  
} else {  
window.location = "../newsCat.aspx?catid="+iCat;  
}
}

// 对指定框架进行跳转页面,二种方法皆可用
function goto_iframe(url) {  
parent.mainFrame.location = "../index.aspx"; //  
// parent.document.getElementById("mainFrame").src = "../index.aspx";// use dom to change page // 同时我增加了dom的写法  

// 对指定框架进行跳转页面,因为 parent.iframename.location="../index.aspx"; 方法不能实行,主要是 "parent.iframename" 中的iframename在js中被默认为节点,而不能把传递过来的参数转换过来,所以用dom实现了该传递二个参数的框架跳转页面,希望那位仁兄不吝赐教!
function goto_iframe(iframename,url)  {  
parent.document.getElementById(iframename).src = "../index.aspx";// use dom to change page by iframeName 
//}  

// 回到首页
function gohome() {  
top.location = "/index.aspx";  


JavaScript中的History历史对象

JavaScript中的History历史对象包含了用户已浏览的 URL 的信息,是指历史对象指浏览器的浏览历史。鉴于安全性的需要,该对象收到很多限制,现在只剩下下列属性和方法。History历史对象有length这个属性,列出历史的项数。JavaScript 所能管到的历史被限制在用浏览器的“前进”“后退”键可以去到的范围。本属性返回的是“前进”和“后退”两个按键之下包含的地址数的和。

History历史对象并有以下方法


  • back() 后退,跟按下“后退”键是等效的。
  • forward() 前进,跟按下“前进”键是等效的。
  • go() 用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x <> 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。history.go(0) 跟 location.reload() 是等效的。

2009年4月4日 星期六

JavaScript中的Window窗口对象

文章來源:http://www.ijavascript.cn/jiaocheng/javascript-window-65.html

JavaScript中的Window窗口对象
他是JavaScript中最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。

Window
窗口对象有如下属性:

  • name 窗口的名称,由打开它的连接(a target="...">)或框架页(<frame name="...">)或某一个窗口调用的 open() 方法(见下)决定。一般我们不会用这个属性。
  • status 指窗口下方的态栏显示的内容。通过对 status 赋值,可以改变状态栏的显示。
  • opener 用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回未定义undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 JavaScript 常数,如果你企图使用“undefined”,那就真的返回未定义了。
  • self 指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是“self.close()”,放在<a标记中:a href="javascript:self.close()"关闭窗口/a
  • parent 返回窗口所属的框架页对象。
  • top 返回占据整个浏览器窗口的最顶端的框架页对象。
  • history 历史对象,见下。
  • location 地址对象,见下。
  • document 档对象,见下。



Window窗口对象有如下方法:

第一个方法是open() 开一个窗口。

用法:

open(<URL字符串>, <窗口名字符串>, <参数字符串>);

说明:

  • URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任意网页。
  • <窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top''_blank'等内建名称。这里的名称跟a href="..." target="..."里的“target”属性是一样的。
  • <参数字符串>:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。


例:打开一个 400 x 100 的干净的窗口:

open('','_blank','width=400,height=100,menubar=no,toolbar=no,

location=no,directories=no,status=no, scrollbars=yes,resizable=yes')

open()的参数

  • top=# 窗口顶部离开屏幕顶部的像素数 
  • left=# 窗口左端离开屏幕左端的像素数 
  • width=# 窗口的宽度 
  • height=# 窗口的高度 
  • menubar=... 窗口有没有菜单,取值yesno 
  • toolbar=... 窗口有没有工具条,取值yesno 
  • location=... 窗口有没有地址栏,取值yesno 
  • directories=... 窗口有没有连接区,取值yesno 
  • scrollbars=... 窗口有没有滚动条,取值yesno 
  • status=... 窗口有没有状态栏,取值yesno 
  • resizable=... 窗口给不给调整大小,取值yesno


注意:open() 方法有返回值,返回的就是它打开的窗口对象。比如

var newWindow = open('','_blank');

这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。


close() 关闭一个已打开的窗口。

用法:

window.close()

self.close()

主要作用是关闭本窗口;

<窗口对象>.close()关闭指定的窗口。注意如果该窗口有状态栏,调用该方法后浏览器会警告:网页正在试图关闭窗口,是否关闭?然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。

另外Window窗口对象还有如下方法

  • blur() 使焦点从窗口移走,窗口变非活动窗口
  • focus() 是窗口获得焦点,变活动窗口。不过在 Windows 98该方法只能使窗口的标题栏和任务栏上的相应按钮闪烁,提示用户该窗口正在试图获得焦点。
  • scrollTo() 用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(x, y)点滚动到窗口的左上角。
  • scrollBy() 用法:[<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下滚动 deltaY 像素。如果取负值,则向相反的方向滚动。
  • resizeTo() 用法:[<窗口对象>.]resizeTo(width, height);使窗口调整大小到宽 width 像素,高 height 像素。
  • resizeBy() 用法:[<窗口对象>.]resizeBy(deltaWidth, deltaHeight);使窗口调整大小,宽增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取负值,则减少。
  • alert() 用法:alert(<字符串>);弹出一个只包含确定钮的对话框,显示<字符串>的内容,整个文档的读取、Script 的运行都会暂停,直到用户按下确定
  • confirm() 用法:confirm(<字符串>);弹出一个包含确定取消钮的对话框,显示<字符串>的内容,要求用户做出选择,整个文档的读取、Script 的运行都会暂停。如果用户按下确定则返回 true 值,如果按下取消则返回 false 值。
  • prompt() 用法:prompt(<字符串>[, <初始值>]);弹出一个包含”“取消和一个文本框的对话框,显示<字符串>的内容,要求用户在文本框输入一些数据,整个文档的读取、Script 的运行都会暂停。如果用户按下则返回文本框里已有的内容,如果用户按下取消则返回 null 值。如果指定<初始值>,则文本框里会有默认值。



Window窗口对象有如下事件:

window.onload;发生在文档全部下载完毕的时候。全部下载完毕意味着不但 HTML 文件,而且包含的图片,插件,控件,小程序等全部内容都下载完毕。本事件是 window 的事件,但是在 HTML 中指定事件处理程序的时候,我们是把它写在body标记中的。

window.onunload;发生在用户退出文档(或者关闭窗口,或者到另一个页面去)的时候。与 onload 一样,要写在 HTML 中就写到<body标记里。

  • window.onresize;发生在窗口被调整大小的时候。
  • window.onblur;发生在窗口失去焦点的时候。
  • window.onfocus;发生在窗口得到焦点的时候。
  • window.onerror;发生在错误发生的时候。它的事件处理程序通常就叫做错误处理程序”(Error Handler),用来处理错误。上边已经介绍过,要忽略一切错误,就使用:function ignoreError() {
  •   return true;
  • }
  • window.onerror = ignoreError;

JavaScript中的Screen屏幕对象

这是基本JavaScript的屏幕对象


  • screen 屏幕对象 反映了当前用户的屏幕设置。
  • width 返回屏幕的宽度(像素数)。
  • height 返回屏幕的高度。
  • availWidth 返回屏幕的可用宽度(除去了一些不自动隐藏的类似任务栏的东西所占用的宽度)。
  • availHeight 返回屏幕的可用高度。
  • colorDepth 返回当前颜色设置所用的位数 - 1:黑白;8:256色;16:增强色;24/32:真彩色


下面是英文的Navigator浏览器的屏幕对象:

  • availHeight:minus permanent or semipermanent user interface features displayed by the operating system:such as the Taskbar on Windows.  
  • availWidth:Specifies the width of the screen, in pixels, minus permanent or semipermanent user interface:features displayed by the operating system, such as the Taskbar on Windows.  
  • colorDepth:The bit depth of the color palette, if one is in use; otherwise, the value is derived from screen.pixelDepth.  
  • height:Display screen height.  
  • pixelDepth:Display screen color resolution (bits per pixel).  
  • width:Display screen width.

JavaScript中的Navigator浏览器对象

文章來源:http://www.ijavascript.cn/jiaocheng/javascript-navigator-61.html

navigator 浏览器对象,包含了正在使用的 Navigator 的版本信息。反映了当前使用的浏览器的资料。JavaScript 客户端运行时刻引擎自动创建 navigator 对象。
详细的信息可以去查msdn或者Navigator 2.0以后的说明文档,这里我们之做个简单的说明
包括一下几大属性:

  • appCodeName 返回浏览器的码名”(?),流行的 IE NN 都返回 'Mozilla'
    下面的例子显示了 appCodeName 属性的值:document.write("navigator.appCodeName 的值是" + navigator.appCodeName)
  • appName 返回浏览器名。IE 返回 'Microsoft Internet Explorer'NN 返回 'Netscape'
    下面的例子显示了 appName 属性的值:document.write("navigator.appName 的值是 " + navigator.appName)
  • appVersion 返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。
  • language 语言 
  • mimeType 以数组表示所支持的MIME类型
  • platform 返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 'Win32'(大小写可能有差异)。
  • userAgent 返回以上全部信息。例如,IE5.01 返回 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)'
  • plugins 以数组表示已安装的外挂程序 
  • javaEnabled() 返回一个布尔值,代表当前浏览器允许不允许 Java


检测浏览器的版本、所支持的MIME类型、已安装的外挂程序(plug-in)。该对象包含两个子对象:外挂对象、MIME类型对象。 

例如:

<Script>

with (document) {

     write ("你的浏览器信息:<OL>");

     write ("<LI>代:"+navigator.appCodeName);

     write ("<LI>名:"+navigator.appName);

     write ("<LI>版本:"+navigator.appVersion);

     write ("<LI>言:"+navigator.language);

     write ("<LI>编译平台:"+navigator.platform);

     write ("<LI>用:"+navigator.userAgent);

}

</Script>

例如:

<Script>

if (document.all) {

    document.write("你的浏览器是:MSIE");

}    else {

    document.write("你的浏览器是:Navigator");

}

</Script> 


JavaScipt基本教程之对象的基本知识

文章來源:http://www.ijavascript.cn/jiaocheng/primary-tutorial-of-study-javascript-about-object-26.html

JavaScript 是使用对象化编程的,或者叫面向对象编程的。所对象化编程,意思是把 JavaScript 能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编程都以对象为出发点,基于对象。小到一个变量,大到网页文档、窗口甚至屏幕,都是对象。这一章将面向对象讲述 JavaScript 的运行情况。
对象的基本知
对象是可以从 JavaScript“势力范中划分出来的一小块,可以是一段文字、一幅图片、一个表单(Form)等等。每个对象有它自己的属性、方法和事件。对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的提交”(Submit),窗口的滚动”(Scrolling)等等;而对象的事件就能响应发生在对象上的事情,例如提交表单产生表单的提交事件,点击连接产生的击事件。不是所有的对象都有以上三个性质,有些没有事件,有些只有属性。引用对象的任一<对象名>.<性质名这种方法。

基本对象
现在我们要复习以上学过的内容了——把一些数据类型用对象的角度重新学习一下。
Number数字对象。这个对象用得很少,作者就一次也没有见过。不过属于“Number”的对象,也就是变量就多了。

属性

MAX_VALUE 用法:Number.MAX_VALUE;返回最大值

MIN_VALUE 用法:Number.MIN_VALUE;返回最小值

NaN 用法:Number.NaN NaN;返回“NaN”NaN(不是数值)在很早就介绍过了。

NEGATIVE_INFINITY 用法:Number.NEGATIVE_INFINITY;返回:负无穷大,比最小值还小的值。

POSITIVE_INFINITY 用法:Number.POSITIVE_INFINITY;返回:正无穷大,比最大值还大的值。

方法

toString() 用法:<数值变量>.toString();返回:字符串形式的数值。如:若 a == 123 a.toString() == '123'

String 字符串对象。声明一个字符串对象最简单、快捷、有效、常用的方法就是直接赋值。

属性

length 用法:<字符串对象>.length;返回该字符串的长度。

方法

charAt() 用法:<字符串对象>.charAt(<位置>);返回该字符串位于第<位置>位的单个字符。注意:字符串中的一个字符是第 0 位的,第二个才是第 1 位的,最后一个字符是第 length - 1 位的。

charCodeAt() 用法:<字符串对象>.charCodeAt(<位置>);返回该字符串位于第<位置>位的单个字符的 ASCII 码。

fromCharCode() 用法:String.fromCharCode(a, b, c...);返回一个字符串,该字符串每个字符的 ASCII 码由 a, b, c... 来确定。

indexOf() 用法:<字符串对象>.indexOf(<另一个字符串对象>[, <起始位置>])该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始位置>就忽略之前的位置),如果找到了,就返回它的位置,没有找到就返回“-1”。所有的位置都是从零开始的。

lastIndexOf() 用法:<字符串对象>.lastIndexOf(<另一个字符串对象>[, <起始位置>]);跟 indexOf() 相似,不过是从后边开始找。

split() 用法:<字符串对象>.split(<分隔符字符>);返回一个数组,该数组是从<字符串对象>中分离开来的,<分隔符字符>决定了分离的地方,它本身不会包含在所返回的数组中。例如:'1&2&345&678'.split('&')返回数组:1,2,345,678关于数组,我们等一下就讨论。

substring() 用法:<字符串对象>.substring(<始>[, ]);返回原字符串的子字符串,该字符串是原字符串从<始>位置到<>位置的前一位置的一段。< - <始> = 返回字符串的长度(length)。如果没有指定<>或指定得超过字符串长度,则子字符串从<始>位置一直取到原字符串尾。如果所指定的位置不能返回字符串,则返回空字符串。

substr() 用法:<字符串对象>.substr(<始>[, <长>]);返回原字符串的子字符串,该字符串是原字符串从<始>位置开始,长度为<长>的一段。如果没有指定<长>或指定得超过字符串长度,则子字符串从<始>位置一直取到原字符串尾。如果所指定的位置不能返回字符串,则返回空字符串。

toLowerCase() 用法:<字符串对象>.toLowerCase();返回把原字符串所有大写字母都变成小写的字符串。

toUpperCase() 用法:<字符串对象>.toUpperCase();返回把原字符串所有小写字母都变成大写的字符串。

Array 组对象。数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个,用来表示它在数组中的位置(既然是位置,就也是从零开始的啦)。

组的定义方法:

var <数组名 = new Array();

这样就定义了一个空数组。以后要添加数组元素,就用:

<数组名[<下] = ...;

注意这里的方括号不是可以省略的意思,数组的下标表示方法就是用方括号括起来。

如果想在定义数组的时候直接初始化数据,请用:

var <数组名 = new Array(<元素1, <元素2, <元素3...);

例如,var myArray = new Array(1, 4.5, 'Hi'); 定义了一个数 myArray,里边的元素是:myArray[0] == 1; myArray[1] == 4.5; myArray[2] == 'Hi'

但是,如果元素列表中只有一个元素,而这个元素又是一个正整数的话,这将定义一个包含<正整数>个空元素的数组。

注意:JavaScript只有一维数组!千万不要用“Array(3,4)”这种愚蠢的方法来定义 4 x 5 的二维数组,或者用“myArray[2,3]”这种方法来返回维数组中的元素。任意“myArray[...,3]”这种形式的调用其实只返回了“myArray[3]”。要使用多维数组,请用这种虚拟法:

var myArray = new Array(new Array(), new Array(), new Array(), ...);

其实这是一个一维数组,里边的每一个元素又是一个数组。调用这个维数组的元素时:myArray[2][3] = ...;

属性

length 用法:<数组对象.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。所以,想添加一个元素,只需要:myArray[myArray.length] = ...

方法

join() 用法:<数组对象.join(<分隔符>);返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。

reverse() 用法:<数组对象.reverse();使数组中的元素顺序反过来。如果对数组[1, 2, 3]使用这个方法,它将使数组变成:[3, 2, 1]

slice() 用法:<数组对象.slice(<始>[, ]);返回一个数组,该数组是原数组的子集,始于<始>,终于>。如果不给出>,则子集一直取到原数组的结尾。

sort() 用法:<数组对象.sort([<方法函数>]);使数组中的元素按照一定的顺序排列。如果不指定<方法函数>,则按字母顺序排列。在这种情况下,80 是比 9 排得前的。如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。<方法函数>比较难讲述,这里只将一些有用的<方法函数>介绍给大家。

按升序排列数字:

function sortMethod(a, b) {

    return a - b;

}


myArray.sort(sortMethod);

按降序排列数字:把上面的“a - b”该成“b - a”

关函数,请看下面。

Math 数学对象,提供对数据的数学计算。下面所提到的属性和方法,不再详细说明用法,大家在使用的时候记住用“Math.<名>这种格式。

属性

E 返回常数 e (2.718281828...)

LN2 返回 2 的自然对数 (ln 2)

LN10 返回 10 的自然对数 (ln 10)

LOG2E 返回以 2 为低的 e 的对数 (log2e)

LOG10E 返回以 10 为低的 e 的对数 (log10e)

PI 返回π3.1415926535...)

SQRT1_2 返回 1/2 的平方根。

SQRT2 返回 2 的平方根。

方法

abs(x) 返回 x 绝对值。

acos(x) 返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。

asin(x) 返回 x 的反正弦值。

atan(x) 返回 x 的反正切值。

atan2(x, y) 返回复平面内点(x, y)应的复数的幅角,用弧度表示,其值在 π 之间。

ceil(x) 返回大于等于 x 的最小整数。

cos(x) 返回 x 的余弦。

exp(x) 返回 e x 次幂 (ex)

floor(x) 返回小于等于 x 的最大整数。

log(x) 返回 x 的自然对数 (ln x)

max(a, b) 返回 a, b 较大的数。

min(a, b) 返回 a, b 较小的数。

pow(n, m) 返回 n m 次幂 (nm)

random() 返回大于 0 小于 1 的一个随机数。

round(x) 返回 x 四舍五入后的值。

sin(x) 返回 x 的正弦。

sqrt(x) 返回 x 的平方根。

tan(x) 返回 x 的正切。

Date 日期对象。这个对象可以储存任意一个日期,从 0001 年到 9999 年,并且可以精确到毫秒数(1/1000 秒)。在内部,日期对象是一个整数,它是从 1970 1 1 日零时正开始计算到日期对象所指的日期的毫秒数。如果所指日期比 1970 年早,则它是一个负数。所有日期时间,如果不指定时区,都采用“UTC”(世界时)时区,它与“GMT”(格林威治时间)在数值上是一样的。

定义一个日期对象:

var d = new Date;

这个方法使 d 为日期对象,并且已有初始值:当前时间。如果要自定初始值,可以用:

var d = new Date(99, 10, 1);     //99 10 1

var d = new Date('Oct 1, 1999'); //99 10 1

等等方法。最好的方法就是用下面介绍的方法来严格的定义时间。

方法

以下有很多“g/set[UTC]XXX”这样的方法,它表示既有“getXXX”方法,又有“setXXX”方法。“get”是获得某个数值,而“set”是设定某个数值。如果带有“UTC”字母,则表示获得/设定的数值是基于 UTC 时间的,没有则表示基于本地时间或浏览期默认时间的。

如无说明,方法的使用格式为:<对象>.<方法>,下同。

g/set[UTC]FullYear() 返回/设置年份,用四位数表示。如果使用“x.set[UTC]FullYear(99)”则年份被设定为 0099 年。

g/set[UTC]Year()返回/设置年份,用两位数表示。设定的时候浏览器自动加上“19”开头,故使用“x.set[UTC]Year(00)”把年份设定 1900 年。

g/set[UTC]Month()返回/设置月份。

g/set[UTC]Date()返回/设置日期。

g/set[UTC]Day()返回/设置星期,0 表示星期天。

g/set[UTC]Hours()返回/设置小时数,24小时制。

g/set[UTC]Minutes()返回/设置分钟数。

g/set[UTC]Seconds()返回/设置秒钟数。

g/set[UTC]Milliseconds()返回/设置毫秒数。

g/setTime() 返回/设置时间,该时间就是日期对象的内部处理方法:从 1970 1 1 日零时正开始计算到日期对象所指的日期的毫秒数。如果要使某日期对象所指的时间推迟 1 小时,就用:“x.setTime(x.getTime() + 60 * 60 * 1000);”(一小时 60 分,一分 60 秒,一秒 1000 毫秒)。

getTimezoneOffset() 返回日期对象采用的时区与格林威治时间所差的分钟数。在格林威治东方的市区,该值为负,例如:中国时区(GMT+0800)返回“-480”

toString() 返回一个字符串,描述日期对象所指的日期。这个字符串的格式类似于:“Fri Jul 21 15:43:46 UTC+0800 2000”

toLocaleString() 返回一个字符串,描述日期对象所指的日期,用本地时间表示格式。如:“2000-07-21 15:43:46”

toGMTString() 返回一个字符串,描述日期对象所指的日期,用 GMT 格式。

toUTCString() 返回一个字符串,描述日期对象所指的日期,用 UTC 格式。

parse() 用法:Date.parse(<日期对象>);返回该日期对象的内部表达方式。



全局对象

全局对象从不现形,它可以说是虚拟出来的,目的在于把全局函数对象化。在 Microsoft JScript 语言参考中,它叫做“Global 对象,但是引用它的方法和属性从来不用“Global.xxx”(况且这样做会出错),而直接用“xxx”

属性

NaN 一早就说过了。

方法

eval() 把括号内的字符串当作标准语句或表达式来运行。

isFinite() 如果括号内的数字是有限的(介于 Number.MIN_VALUE Number.MAX_VALUE 之间)就返回 true;否则返回 false

isNaN() 如果括号内的值是“NaN”则返回 true 则返回 false

parseInt() 返回把括号内的内容转换成整数之后的值。如果括号内是字符串,则字符串开头的数字部分被转换成整数,如果以字母开头,则返回“NaN”

parseFloat() 返回把括号内的字符串转换成浮点数之后的值,字符串开头的数字部分被转换成浮点数,如果以字母开头,则返回“NaN”

toString() 用法:<对象>.toString();把对象转换成字符串。如果在括号中指定一个数值,则转换过程中所有数值转换成特定进制。

escape() 返回括号中的字符串经过编码后的新字符串。该编码应用于 URL,也就是把空格写成“%20”这种格式。“+”不被编码,如果要“+”也被编码,请用:escape('...', 1)

unescape() escape() 的反过程。解编括号中字符串成为一般字符串。


函数函数的定义 

函数,是有返回值的对象或对象的方法。 

函数的种类 

常见的函数有:构造函数,如 Array(),能构造一个数组;全局函数,即全局对象里的方法;自定义函数;等等。 

自定义函数 

定义函数用以下语句: 

function 函数名([参数集]) {

    ...

    [return[ <值>];]

    ...

其中,用在 function 之后和函数结尾的大括号是不能省去的,就算整个函数只有一句。 

函数名与变量名有一样的起名规定,也就是只包含字母数字下划线、字母排头、不能与保留字重复等。 

参数集可有可无,但括号就一定要有。 

参数 是函数外部向函数内部传递信息的桥梁,例如,想叫一个函数返回 3 的立方,你就要让函数知道“3”这个数值,这时候就要有一个变量来接收数值,这种变量叫做参数。 

参数集是一个或多个用逗号分隔开来的参数的集合,如:a, b, c 

函数的内部有一至多行语句,这些语句并不会立即执行,而只当有其它程序调用它时才执行。这些语句中可能包含“return”语句。在执行一个函数的时候,碰到 return 语句,函数立刻停止执行,并返回到调用它的程序中。如果“return”带有<值>,则退出函数的同时返回该值。 

在函数的内部,参数可以直接当作变量来使用,并可以用 var 语句来新建一些变量,但是这些变量都不能被函数外部的过程调用。要使函数内部的信息能被外部调用,要么使用“return”返回值,要么使用全局变量。 

全局变量 Script 根部(非函数内部)的“var”语句所定义的变量就是全局变量,它能在整个过程的任意地方被调用、更改。 

 

function addAll(a, b, c) {

    return a + b + c;

}


var total = addAll(3, 4, 5); 

这个例子建立了一个叫“addAll”的函数,它有 3 个参数:a, b, c,作用是返回三个数相加的结果。在函数外部,利用“var total = addAll(3, 4, 5);”接收函数的返回值。 

更多的时候,函数是没有返回值的,这种函数在一些比较强调严格的语言中是叫做过程的,例如 Basic 语言的“Sub”Pascal 语言的“procedure” 

属性 

arguments 一个数组,反映外部程序调用函数时指定的参数。用法:直接在函数内部调用“arguments”