Javascript参考手册world版_第1页
Javascript参考手册world版_第2页
Javascript参考手册world版_第3页
Javascript参考手册world版_第4页
Javascript参考手册world版_第5页
已阅读5页,还剩919页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Javascript参考手册JavaScript Window - 浏览器对象模型浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。浏览器对象模型 (BOM)浏览器对象模型(Browser Object Model)尚无正式标准。由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性。Window 对象所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是 window 对象的属性。全局函数是 wind

2、ow 对象的方法。甚至 HTML DOM 的 document 也是 window 对象的属性之一:window.document.getElementById(header);与此相同:document.getElementById(header);Window 尺寸有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari: window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度对于 Internet Ex

3、plorer 8、7、6、5:或者实用的 JavaScript 方案(涵盖所有浏览器):实例var w=window.innerWidth| document.body.clientWidth;var h=window.innerHeight| document.body.clientHeight;该例显示浏览器窗口的高度和宽度:(不包括工具栏/滚动条)其他 Window 方法一些其他方法: window.open() - 打开新窗口 window.close() - 关闭当前窗口 window.moveTo() - 移动当前窗口 window.resizeTo() - 调整当前窗口的尺寸Ja

4、vaScript Window Screenwindow.screen 对象包含有关用户屏幕的信息。Window Screenwindow.screen 对象在编写时可以不使用 window 这个前缀。一些属性: screen.availWidth - 可用的屏幕宽度 screen.availHeight - 可用的屏幕高度Window Screen 可用宽度screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏。实例返回您的屏幕的可用宽度:document.write(可用宽度: + screen.availWidth);以上代码输出为:可用宽度

5、:1440Window Screen 可用高度screen.availHeight 属性返回访问者屏幕的高度,以像素计,减去界面特性,比如窗口任务栏。实例返回您的屏幕的可用高度:document.write(可用高度: + screen.availHeight);以上代码输出为:可用高度:860JavaScript Window Locationwindow.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。Window Locationwindow.location 对象在编写时可不使用 window 这个前缀。一些例子: location.hostnam

6、e 返回 web 主机的域名 location.pathname 返回当前页面的路径和文件名 location.port 返回 web 主机的端口 (80 或 443) tocol 返回所使用的 web 协议(http:/ 或 https:/)Window Location Hreflocation.href 属性返回当前页面的 URL。实例返回(当前页面的)整个 URL:document.write(location.href);以上代码输出为:Window Location Pathnamelocation.pathname 属性返回 URL 的路径名。实例返回当前

7、 URL 的路径名:document.write(location.pathname);以上代码输出为:/js/js_window_location.aspWindow Location Assignlocation.assign() 方法加载新的文档。实例加载一个新的文档:function newDoc() window.location.assign() JavaScript Window Historywindow.history 对象包含浏览器的历史。Window Historywindow.history 对象在编写时可不使用 window 这个前缀。为了保护用户隐私,对 JavaS

8、cript 访问该对象的方法做出了限制。一些方法: history.back() - 与在浏览器点击后退按钮相同 history.forward() - 与在浏览器中点击按钮向前相同Window History Backhistory.back() 方法加载历史列表中的前一个 URL。这与在浏览器中点击后退按钮是相同的:实例在页面上创建后退按钮:function goBack() window.history.back() 以上代码输出为:Window History Forwardhistory forward() 方法加载历史列表中的下一个 URL。这与在浏览器中点击前进按钮是相同的:实例

9、在页面上创建一个向前的按钮:function goForward() window.history.forward() 以上代码输出为:JavaScript Window Navigatorwindow.navigator 对象包含有关访问者浏览器的信息。Window Navigatorwindow.navigator 对象在编写时可不使用 window 这个前缀。实例txt = Browser CodeName: + navigator.appCodeName + ;txt+= Browser Name: + navigator.appName + ;txt+= Browser Versio

10、n: + navigator.appVersion + ;txt+= Cookies Enabled: + navigator.cookieEnabled + ;txt+= Platform: + navigator.platform + ;txt+= User-agent header: + navigator.userAgent + ;txt+= User-agent language: + navigator.systemLanguage + ;document.getElementById(example).innerHTML=txt;警告:来自 navigator 对象的信息具有误导

11、性,不应该被用于检测浏览器版本,这是因为: navigator 数据可被浏览器使用者更改 浏览器无法报告晚于浏览器发布的新操作系统浏览器检测由于 navigator 可误导浏览器检测,使用对象检测可用来嗅探不同的浏览器。由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器。例如,由于只有 Opera 支持属性 window.opera,您可以据此识别出 Opera。例子:if (window.opera) .some action.JavaScript 消息框可以在 JavaScript 中创建三种消息框:警告框、确认框、提示框。实例警告框带有折行的警告框确认框提示框警告框警告框经常用于

12、确保用户可以得到某些信息。当警告框出现后,用户需要点击确定按钮才能继续进行操作。语法:alert(文本)确认框确认框用于使用户可以验证或者接受某些信息。当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。语法:confirm(文本)提示框提示框经常用于提示用户在进入页面前输入某个值。当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。语法:prompt(文本,默认值)JavaScript 计时通过使

13、用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。实例简单的计时单击本例中的按钮后,会在 5 秒后弹出一个警告框。另一个简单的计时本例中的程序会执行 2 秒、4 秒和 6 秒的计时。在一个无穷循环中的计时事件在本例中,单击开始计时按钮后,程序开始从 0 以秒计时。带有停止按钮的无穷循环中的计时事件在本例中,点击计数按钮后根据用户输入的数值开始倒计时,点击停止按钮停止计时。使用计时事件制作的钟表一个 JavaScript 小时钟JavaScript 计时事件通过使用 JavaScript,我们有能力作到在一个设定的时间间

14、隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:setTimeout()未来的某时执行代码clearTimeout()取消setTimeout()setTimeout()语法var t=setTimeout(javascript语句,毫秒)setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 ale

15、rt(5 seconds!),或者对函数的调用,诸如 alertMsg()。第二个参数指示从当前起多少毫秒后执行第一个参数。提示:1000 毫秒等于一秒。实例当下面这个例子中的按钮被点击时,一个提示框会在5秒中后弹出。function timedMsg() var t=setTimeout(alert(5 seconds!),5000) 实例 - 无穷循环要创建一个运行于无穷循环中的计时器,我们需要编写一个函数来调用其自身。在下面的例子中,当按钮被点击后,输入域便从 0 开始计数。var c=0var tfunction timedCount() document.getElementById

16、(txt).value=c c=c+1 t=setTimeout(timedCount(),1000) clearTimeout()语法clearTimeout(setTimeout_variable)实例下面的例子和上面的无穷循环的例子相似。唯一的不同是,现在我们添加了一个 Stop Count! 按钮来停止这个计数器:var c=0var tfunction timedCount() document.getElementById(txt).value=c c=c+1 t=setTimeout(timedCount(),1000) function stopCount() clearTim

17、eout(t) JavaScript Cookiescookie 用来识别用户。实例创建一个欢迎 cookie利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息。什么是cookie?cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。有关cookie的例子:名字 cookie当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访

18、问网站时,他们会收到类似 Welcome John Doe! 的欢迎词。而名字则是从 cookie 中取回的。密码 cookie当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。日期 cookie当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:Your last visit was on Tuesday August 11, 2005!。日期也是从 cookie 中取回的。创建和存储 cookie在这个例子中我们要创建一个存储访

19、问者名字的 cookie。当访问者首次访问网站时,他们会被要求填写姓名。名字会存储于 cookie 中。当访问者再次访问网站时,他们就会收到欢迎词。首先,我们会创建一个可在 cookie 变量中存储访问者姓名的函数:function setCookie(c_name,value,expiredays)var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)document.cookie=c_name+ = +escape(value)+(expiredays=null) ? : ;expires=+exdate.toGMT

20、String()上面这个函数中的参数存有 cookie 的名称、值以及过期天数。在上面的函数中,我们首先将天数转换为有效的日期,然后,我们将 cookie 名称、值及其过期日期存入 document.cookie 对象。之后,我们要创建另一个函数来检查是否已设置 cookie:function getCookie(c_name)if (document.cookie.length0) c_start=document.cookie.indexOf(c_name + =) if (c_start!=-1) c_start=c_start + c_name.length+1 c_end=docum

21、ent.cookie.indexOf(;,c_start) return unescape(document.cookie.substring(c_start,c_end) return 上面的函数首先会检查 document.cookie 对象中是否存有 cookie。假如 document.cookie 对象存有某些 cookie,那么会继续检查我们指定的 cookie 是否已储存。如果找到了我们要的 cookie,就返回值,否则返回空字符串。最后,我们要创建一个函数,这个函数的作用是:如果 cookie 已设置,则显示欢迎词,否则显示提示框来要求用户输入名字。function check

22、Cookie()username=getCookie(username)if (username!=null & username!=) alert(Welcome again +username+!)else username=prompt(Please enter your name:,) if (username!=null & username!=) setCookie(username,username,365) 这是所有的代码:function getCookie(c_name)if (document.cookie.length0) c_start=document.cookie

23、.indexOf(c_name + =) if (c_start!=-1) c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(;,c_start) return unescape(document.cookie.substring(c_start,c_end) return function setCookie(c_name,value,expiredays)var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)document.cookie=

24、c_name+ = +escape(value)+(expiredays=null) ? : ;expires=+exdate.toGMTString()function checkCookie()username=getCookie(username)if (username!=null & username!=) alert(Welcome again +username+!)else username=prompt(Please enter your name:,) if (username!=null & username!=) setCookie(username,username,

25、365) JavaScript 对象参考手册Array 对象Array 对象用于在单个的变量中存储多个值。创建 Array 对象的语法:new Array();new Array(size);new Array(element0, element1, ., elementn);参数参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。参数 element ., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。返回值返回新创建并被初始化了

26、的数组。如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。Array 对象属性FF: Firefox, IE: Internet Explorer属性描述FFIEconstructor返回对创建此对象的数组函数的引用。14index 14input 14length设

27、置或返回数组中元素的数目。14prototype使您有能力向对象添加属性和方法。14Array 对象属性=constructor定义和用法constructor 属性返回对创建此对象的数组函数的引用。语法object.constructor实例例子 1在本例中,我们将展示如何使用 constructor 属性:var test=new Array();if (test.constructor=Array)document.write(This is an Array);if (test.constructor=Boolean)document.write(This is a Boolean);

28、if (test.constructor=Date)document.write(This is a Date);if (test.constructor=String)document.write(This is a String);输出:This is an ArrayTIY例子 2在本例中,我们将展示如何使用 constructor 属性:function employee(name,job,born)=name;this.job=job;this.born=born;var bill=new employee(Bill Gates,Engineer,1985);doc

29、ument.write(bill.constructor);输出:function employee(name, jobtitle, born) = name; this.jobtitle = job; this.born = born;Array 对象属性=length定义和用法length 属性可设置或返回数组中元素的数目。语法arrayObject.length说明数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。数组的 length 属性在用构造

30、函数 Array() 创建数组时被初始化。给数组添加新元素时,如果必要,将更新 length 的值。设置 length 属性可改变数组的大小。如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined。实例在本例中,我们将展示如何使用 length 属性返回并设置数组的长度:var arr = new Array(3)arr0 = Johnarr1 = Andyarr2 = Wendydocument.write(Original length: + arr.length)document.wr

31、ite()arr.length=5document.write(New length: + arr.length)输出:Original length: 3New length: 5Array 对象属性=prototype定义和用法prototype 属性使您有能力向对象添加属性和方法。语法=value实例在本例中,我们将展示如何使用 prototype 属性来向对象添加属性:function employee(name,job,born)=name;this.job=job;this.born=born;var bill=new e

32、mployee(Bill Gates,Engineer,1985);totype.salary=null;bill.salary=20000;document.write(bill.salary);输出:20000Array 对象方法FF: Firefox, IE: Internet Explorer方法描述FFIEconcat()连接两个或更多的数组,并返回结果。14join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。14pop()删除并返回数组的最后一个元素15.5push()向数组的末尾添加一个或更多元素,并返回新的长度。15.5revers

33、e()颠倒数组中元素的顺序。14shift()删除并返回数组的第一个元素15.5slice()从某个已有的数组返回选定的元素14sort()对数组的元素进行排序14splice()删除元素,并向数组添加新元素。15.5toSource()返回该对象的源代码。1-toString()把数组转换为字符串,并返回结果。14toLocaleString()把数组转换为本地数组,并返回结果。14unshift()向数组的开头添加一个或更多元素,并返回新的长度。16valueOf()返回数组对象的原始值14concat()定义和用法concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而

34、仅仅会返回被连接数组的一个副本。语法arrayObject.concat(arrayX,arrayX,.,arrayX)参数描述arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。返回值返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。实例例子 1在本例中,我们将把 concat() 中的参数连接到数组 a 中:var a = 1,2,3;document.write(a.concat(4,5);输出:1,2,3,4,5例子 2在本例中,我

35、们创建了两个数组,然后使用 concat() 把它们连接起来:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasvar arr2 = new Array(3)arr20 = Jamesarr21 = Adrewarr22 = Martindocument.write(arr.concat(arr2)输出:George,John,Thomas,James,Adrew,Martin例子 3在本例中,我们创建了三个数组,然后使用 concat() 把它们连接起来:var arr = new Array(3)arr0 = George

36、arr1 = Johnarr2 = Thomasvar arr2 = new Array(3)arr20 = Jamesarr21 = Adrewarr22 = Martinvar arr3 = new Array(2)arr30 = Williamarr31 = Franklindocument.write(arr.concat(arr2,arr3)输出:George,John,Thomas,James,Adrew,Martin,William,Franklinjoin()定义和用法join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。语法arrayObj

37、ect.join(separator)参数描述separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。返回值返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator 字符串而生成的。实例例子 1在本例中,我们将创建一个数组,然后把它的所有元素放入一个字符串:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr.join()输出:George,John,Thomas例子 2在本例中,

38、我们将使用分隔符来分隔数组中的元素:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr.join(.)输出:pop()定义和用法pop() 方法用于删除并返回数组的最后一个元素。语法arrayObject.pop()返回值arrayObject 的最后一个元素。说明pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。实例在本例中,我们将创建一个数组,然后删除数

39、组的最后一个元素。请注意,这也会改变数组的程度:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr)document.write()document.write(arr.pop()document.write()document.write(arr)输出:George,John,ThomasThomasGeorge,Johnpush()定义和用法push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。语法arrayObject.push(newelement1,newelemen

40、t2,.,newelementX)参数描述newelement1必需。要添加到数组的第一个元素。newelement2可选。要添加到数组的第二个元素。newelementX可选。可添加多个元素。返回值把指定的值添加到数组后的新长度。说明push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。提示和注释注释:该方法会改变数组的长度。提示:要想数组的开头添加一个或多个元素,请使用 unshift() 方法。实例在本例中,我们将创建一个数组,并通过添加一

41、个元素来改变其长度:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr + )document.write(arr.push(James) + )document.write(arr)输出:George,John,Thomas4George,John,Thomas,Jamesreverse()定义和用法reverse() 方法用于颠倒数组中元素的顺序。语法arrayObject.reverse()提示和注释注释:该方法会改变原来的数组,而不会创建新的数组。实例在本例中,我们将创建一个数组,然

42、后颠倒其元素的顺序:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr + )document.write(arr.reverse()输出:George,John,ThomasThomas,John,Georgeshift()定义和用法shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。语法arrayObject.shift()返回值数组原来的第一个元素的值。说明如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不

43、创建新数组,而是直接修改原有的 arrayObject。提示和注释注释:该方法会改变数组的长度。提示:要删除并返回数组的最后一个元素,请使用 pop() 方法。实例在本例中,我们将创建一个数组,并删除数组的第一个元素。请注意,这也将改变数组的长度:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr + )document.write(arr.shift() + )document.write(arr)输出:George,John,ThomasGeorgeJohn,Thomasslice()定

44、义和用法slice() 方法可从已有的数组中返回选定的元素。语法arrayObject.slice(start,end)参数描述start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。返回值返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。说明请注意

45、,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。提示和注释注释:您可使用负值从数组的尾部选取元素。注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。实例例子 1在本例中,我们将创建一个新数组,然后显示从其中选取的元素:var arr = new Array(3)arr0 = Georgearr1 = Johnarr2 = Thomasdocument.write(arr + )document.write(arr.slice(1) + )document.write(arr)输出:George,John,ThomasJohn,ThomasGeorge,John,Thomas例子 2在本例中,我们将创建一个新数组,然后显示从其中选取的元素:var arr = new Array(6)arr0 = Georgearr1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论