《03JavaScript教程》由会员分享,可在线阅读,更多相关《03JavaScript教程(75页珍藏版)》请在金锄头文库上搜索。
1、1第第4章章 JavaScript脚本语言介绍脚本语言介绍o4.1 什么是JavaScripto4.2javascript的作用o4.3 JavaScript的基本语法o4.4 数据类型n3.3.1 基本数据类型基本数据类型n3.3.2 常量常量n3.3.3 变量变量n3.3.4 运算符和表达式运算符和表达式o4.5 语句n4.4.2 选择语句选择语句n4.4.3 循环语句循环语句o4.6 函数o4.7 对象n4.6.1 基本概念基本概念n4.6.2 常用对象的介绍常用对象的介绍n4.6.3 常用事件的应用常用事件的应用o4.8 JavaScript综合举例n4.7.1 页面交互功能的应用页面
2、交互功能的应用n4.7.2 状态栏的应用状态栏的应用n4.7.3 鼠标事件的应用鼠标事件的应用n4.7.4 窗口的应用窗口的应用24.1 什么是什么是JavaScriptJavaScript是由一种面向对象(Object)和基于事件驱动(Event Driver)并具有安全性能的脚本语言。它是通过嵌入在标准的HTML语言中实现的。它的出现弥补了HTML语言的不足之处,它是Java与HTML的折衷。它的开发环境简单,不需要Java编译器(事实上Java与JavaScript之间没有任何关系),而是直接运行在Web浏览器中,也就是客户端的脚本言语,因而使用它与HTML超文本标记语言结合在一起,来实
3、现一个Web页面与浏览者交互作用,从而可以开发客户端的应用程序。 JavaScript程序本身不能独立存在,它是依附于某个HTML页面,在浏览器端运行的。34.2JavaScript可以做什么可以做什么o作为一个运行于浏览器环境中的语言,JavaScript被设计用来向HTML页面添加交互行为,利用它可以完成以下任务。o可以将文本动态的放入HTML页面。类似于这样的一段JavaScript声明可以将一段可变的文本放入HTML页面:document.write(+name+)o可以对事件做出响应。例如页面载入完成或者当用户单击某个HTML元素时,调用指定的JavaScript程序。o可以读写HT
4、ML元素。JavaScript程序可以读取及改变当前HTML页面内某个元素的内容,如文本框中的输入内容。o可被用来验证用户输入的数据。在数据被提交到服务器之前,JavaScript可被用来验证这些数据。o可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。o可被用来创建cookies,用来存储和取回位于访问者的计算机中的信息。o可利用Ajax技术来完成和服务器的直接通信,无刷新的修改当前HTML页面内容。44.3 JavaScript的基本语法的基本语法利用利用JavaScript编写的编写的Hello World程序。如图所示。程序。如图所示。其代码如下: Jav
5、aScript学习学习Hello World!通过这个简单的实例,在HTML语言中插入JavaScript脚本语言的语法格式为:54.3 JavaScript的基本语法的基本语法(续续)oscript:脚本标记。它必须以开头,以结束。oJavaScript语句对大小写敏感。oScript在页面中的位置决定了什么时候装载它们,如果希望在其他所有内容之前装载脚本,就要确保脚本在head部分。 o代码的位置n位于HEAD部分的脚本o如果把脚本放置到head部分,在页面载入的时候,就同时载入了代码。o通常这个区域的JavaScript代码是为body区域程序代码所调用的事件处理函数。n位于 BODY部
6、分的脚本 o当你把脚本放置于 body 部分后,在页面载入时不属于某个函数(因为函数必须经过调用才能运行)的脚本就会被执行,执行后的输出就成为页面的内容。n直接位于事件处理部分的代码中n位于网页之外的单独脚本文件64.3 JavaScript的基本语法的基本语法(续续)o可以在一行中写多条语句,一条语句也可以分多行书写。o当一行中写多条语句时,语句与语句之间要用分号(;)分隔。o当一条语句多行书写时,同一个标识符中的字符必须连续书写,中间不可以有空格。o当一行只定一条语句时句未的分号可以不写。o标识符与标识符之间的多余空格会被忽略掉(这点与html语言相似)。o要将一个字符串分多行书写,每一行
7、要做为一个单独的字符串,然后行尾要用“+”运行算符将位于不同行的字符串连接起来。o这是个html隐藏语句,是为了浏览器的支持问题,如果不支持将跳过这部分的执行,现在大部分浏览器都支持JavaScript所以一般不用写。74.4 数据类型数据类型JavaScript脚本语言同其它语言一样,有它自身的基本数据类型、表达式和运算符以及程序的基本框架结构。JavaScript提供了五种基本的数据类型用来处理数据。84.4.1 基本的数据类型基本的数据类型o在JavaScript中数据类型数据类型:n基本数据类型o字符串型(用“ ”或 括起来的字符或数值)o数值型(整数和实数)o布尔型(使用True或F
8、alse表示)n复合数据类型oArrary数组oObject对象n特殊数据类型o空值(null)oundefined 试图引用一个没有的对象属性,则反回一个undefined值在JavaScript的基本类型中的数据可以是常量,也可以是变量。由于采用弱类型的形式,因而一个数据的变量或常量不必事先作声明,而是在使用或赋值时才确定其数据的类型。当然也可以先声明该数据的类型。 94.4.2 常量常量oJavaScript的常量常量主要有以下几种:n字符型常量(使用单引号或双引号括起来的一个或多个字符。如JavaScript、1234567890等n数值型常量o整型常量(又称字面常量,是不能改变的数据
9、。可以使用十六进制(0x)、八进制(0)和十进制表示其值)o实型常量(由整数部分加小数部分表示,如13.48、197.99。可以使用科学或标准方法表示:3E6、2e8等)oInfinity表示无穷大,这是一个特殊的Number 类型oNaN表示非数(Not a Number),这是一个特殊的数值类型,任何数都不与他相等。104.4.2 常量常量(续续)o布尔常量(只有True或False两种值,主要用来说明或代表是或否状态)o空值(该变量没有保存有效的数、字符串、boolean、数组或对象)oUndefined(对象属性不存在或者声明了变量但从未赋值)114.4.3 变量变量o变量的主要作用是
10、存取数据、提供存放信息的容器。对于变量必须明确变量的命名、变量的类型、变量的声明及其变量的作用域。oJavaScript中的变量命名同其他语言非常相中的变量命名同其他语言非常相似,不同之处在于:似,不同之处在于:n必须是一个有效的变量,即变量以字母开头,中间可以出现数字如x1、y2等。除下划线外,变量名不能有空格、+、-和其他符号。n不能使用JavaScript中的关键字作为变量。JavaScript定义了50多个关键字,供内部声明用的,如Var、int、double、true等。124.4.3 变量变量(续续)JavaScript的关键字的关键字break case catch contin
11、ue defaultdelete do else finally forfunction if in instanceof newreturn switch this throw trytypeof var void while with134.4.3 变量变量(续续)144.4.3 变量变量(续续)o在在JavaScript中,变量可以用命令中,变量可以用命令Var声明:声明:nvar mytest;定义一个mytest变量,但没有赋予它的值nvar mytest=“This is a test”;定义一个mytest变量,同时赋予了它的值在JavaScript中,变量也可以不作声明,而在使
12、用时再根据数据的类型来确定其变量的类型。如:x1=200x2=345x3=Truex4=12.34等其中x1为整数,x2为字符串,x3为布尔型,x4为实型。154.4.4. 运算符和表达式运算符和表达式在定义完变量后,就可以对它们进行赋值、改变、计算等一系列操作,这一过程通常由表达式来完成,可以说它是变量、常量及运算符的集合。表达式可以分为算术表达式、字串表达式、赋值表达式及布尔表达式等。运算符是完成操作的一系列符号,在JavaScript中有:o算术运算符(如+、-、*、/、%等)o比较运算符(如!=、=等)o逻辑运算符(如! 、&、& 、 |、|等)o字串运算符(如+)o赋值运算符(如=、
13、+=、-=、*=、/=、%=)注意运算符的优先级:()、逻辑非、乘除求余、加减、比较、逻辑与、逻辑或、赋值运算符164.5 语句语句o语句 nJavaScript 语句是发给浏览器的命令,这些命令的作用是告诉浏览器要做的事情。 n例如:document.write(欢迎进入JavaScript学习之旅!); o语句类型n变量声明语句(var);n变量的赋值语句;n表达式语句;n返回语句(return);n程序流向控制语句;n对象创建语句n注释语句174.5.1 选择语句选择语句If选择语句的使用。选择语句的使用。o语法格式语法格式为:if(条件表达式)语句块1; o功能:功能:若条件表达式为t
14、rue,则执行语句块注:语句块就是用“”和“”封闭起来的一条或若干条语句。184.5.1 选择语句选择语句(续续)Ifelse选择语句o语法格式语法格式为:if(条件表达式)语句块1; else语句块2;o功能:功能:若条件表达式为true,则执行语句块1,否则执行语句块2。194.5.1 选择语句选择语句(续续)Ifelse选择语句的嵌套o格式:if(条件表达式1)语句块1;else if(条件表达式2)语句块2; else if(条件表达式n)语句块n;else语句块n+1;o功能:计算每一个条件表达式,如果结果为true则执行其后相应的语句块。该语句具有互斥性。204.5.1 选择语句选
15、择语句(续续)switch分支语句,和if语句不同的是,它是用于对多种可能相等情况的判断,解决了ifelse语句使用过多,逻辑不清的弊端。o格式switch(变量或表达式) case 常量:语句1; break; . case 常量:语句n;break; default:语句n+1;214.5.1 选择语句选择语句(续续)o功能:当switch的变量或表达式的值与某个case后面的常量相等时,就执行常量后面的语句,碰到“break”之后跳出switch分支选择语句,当所有的case后面的常量都不符合条件表达式时,执行default后面的语句n+1。224.5.1 选择语句选择语句(续续4)o?
16、:选择语句,有些教材也把它看作是一个运算符,叫三目运算符。n表达式1 ? 表达式2 : 表达式3n说明先计算表达式1的值,如果表达式1的值为true则执行表达式2,否则执行表达式3234.5.2 循环语句循环语句for循环语句的使用,也称计数循环。循环语句的使用,也称计数循环。o格式格式为:for(初值;条件;步长表达式)语句块;o功能:功能:每当进行循环以前都要判断条件,条件为true时,执行语句集,否则跳出循环体,每循环一次计数变量增加或减少步长表达式的值。初值用来设置计数变量并给它赋值。步长表达式用来说明计数变量的变化规律。三个主要语句之间,必须使用逗号分隔。for循环是一般目的的循环。
17、而它的一种特殊应用forin循环则用于在对象的所有属性内自动移位,其语法格式语法格式为:for(j in 对象)语句块;循环时j的值会从0增加,直到达到该对象中的最后一个属性的下标为止。244.5.2 循环语句(续循环语句(续1)while循环语句的使用。循环语句的使用。o格式格式为:while(条件)语句块;o功能:功能:每当进行循环以前都要判断条件,条件为true时,执行语句集,否则跳出循环体。语句块中可以用break语句完全终止循环,即使循环没有结束也如此;也可以用Continue语句可跳到语句集的第一句进行下一次循环。254.5.2 循环语句(续循环语句(续2)dowhile循环语句的
18、使用。循环语句的使用。o格式格式为: do语句块; while(条件)o功能:功能:先执行一次循环再判断条件,条件为true时,执行语句块,否则跳出循环体。语句块中可以用break语句完全终止循环,即使循环没有结束也如此;也可以用Continue语句可跳到语句集的第一句进行下一次循环。264.6 函数函数函数为程序设计人员提供了一个非常方便的设计思想。通常在进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数。从而使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。JavaScript函数可以封装那些在程序中可能要多次用到的模块。并可作为事
19、件驱动的动作而被调用的程序。从而实现把一个函数与事件驱动相关联。274.6 函数(续函数(续1)o函数的定义函数的定义function myFun(参数1,参数2,)语句集;或var myFun=function(参数1,参数2,)语句集;o说明n定义时设置的参数为形参,用来接收调用时传递过来的数据n形参可以没有o调用n形式:myFun(参数1,参数2)n说明:可以没有参数,但必须有括号,如果没有括号,反回的是函数的代码,而不是执行的结果。o函数的作用域(函数内部可以再定义一个函数)284.7 对象对象什么是对象什么是对象对象是指世上的任何事物,如汽车、人、计算机等,而在JavaScript语
20、言中,主要有String ,RegExp,Date ,Array ,Math ,Global,Function,window,document等,除此之外如网页上的由html标记产生的各格种元素如表单(form),表单中的各元素,图象(img)等。o什么是属性和方法什么是属性和方法属性是对对象特征的描述,如人的身高、体重等,方法是控制对象动作行为的方式,如人会吃饭、走路等。o什么是事件什么是事件事件是指可被一个对象所识别的动作。JavaScript能识别这些动作,并能够建立程序对这些事件进行响应。比如人饿了就要吃饭,我们知道,人是一个对象,饿就是一个事件,而吃饭就是方法。注意:对象属性和方法的
21、访问o对象名称.属性名o对象名称.方法名( )294.7.2 常用对象的介绍常用对象的介绍oString对象n定义:var str=new String()注:所有的字符串变量都可以看作是一个String对象n属性:olength表示字符串中字符个数,包括所有符号。n方法oanchor()锚点,如同HTML中(a name=“”)一样;o有关字符显示的控制方法,如big(),small(),italics(),bold(),blink()IE不支持,fixed(),fontsize(size),strike(),等;o字体颜色fontcolor(color);304.7.2 常用对象的介绍常用
22、对象的介绍(续)(续)o上标下标: sup() ,sub()o字符搜索indexof(character,fromIndex),表示从指定formIndex位置开始搜索character第一次出现的位置,如果没有发现,返回-1 ;o返回子串substring(start,end),表示从start开始到end的字符全部返回。olastIndexOf():可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索,如果没有发现,返回-1。ocharAt(index)返回指定索引位置处的字符。 314.7.2 常用对象的介绍常用对象的介绍(续)(续)ocharCodeAt(ind
23、ex)返回一个整数,代表指定位置上字符的 Unicode 编码。 ofromCharCode ()从一些 Unicode 字符值中返回一个字符串,如var test = String.fromCharCode(112, 108, 97, 105, 110)。 oRepleace(s1,s2)将字符串中的s1字符替换成s2 otoLowerCase()字符串小写转换otoUpperCase()字符串大写转换osplit() 把一个字符串分割成字符串数组。o注意该对象没有事件324.7.2 常用对象的介绍常用对象的介绍(续)(续)o正则表达式对象正则表达式对象n创建:ore = /pattern/
24、flagsovar re = new RegExp(“pattern”,flags) n参数oPattern:是一个正则表达式。正则表达式:我们在用操作系统的搜索功能查找文件时常用到通配符“*”和“?”,其中“*”可以匹配任何长度的字符,“?”只能匹配一个字符。如我们要查找文件名开头为data扩展名为.txt的文件,可以在搜索框中这样写”data*.txt”,可以说这就是一个简单的正则表达式。它是一种描述字符串匹配的模式。oFlags:模式匹配符334.7.2 常用对象的介绍常用对象的介绍(续)(续)例如:/gimo正则表达式就是一组描述字符串排列特征(模式)的一种自定义语法规则。o 如果可以
25、使用字符串处理函数完成的任务,就不要使用正则o有一些复杂的操作,只能使用正则完成。o正则表达式可以在很多计算机语言中应用o正则表达式也称为一种模式表达式。o正则表达式就是通过构建具有特定规则的模式,在一个字符串中查找与这个模式相匹配的子字符串。然后再进行相应的操作,例如分割、提取等344.7.2 常用对象的介绍常用对象的介绍(续)(续)例如:/gimo什么是正则表达式n可以看作是一个字符串n由具有特殊意义的字符组成的字符串n具有一定编写规则,是一种模式n看作是一种编程语言(是用一些特殊字符,按规则编写出的字符串,形成一种模式-正则表达式)注意: 如果正则表达式,不和函数一起使用,则它就是一个字
26、符串,如果将正则表达式放到某个函数中使用, 才能发挥出正则表达式的作用。354.7.2 常用对象的介绍常用对象的介绍(续)(续)例如:/gimo正则表达式的构成n定界符n原子(普通字符)o所有的打印字符和非打印字符n非打印字符:r n s S f t v cxo使用转义字符“”转义的有特殊意义的字符如*+?. $() |o在正则表达式中可以直接使用一些代表范围的原子dDsSwW“”可以将有特殊意义的字符转成无特殊意义的,也可以将无特殊意义的转成有特殊意义的。o自己定义一个原子表, 可以匹配方括号中的任何一个原子匹配偶数24680 取反24680364.7.2 常用对象的介绍常用对象的介绍(续)
27、(续)例如:/gimo元字符元字符是一种特殊的字符,是用来修饰原子用的,不可以单独出现。如:*?.等特殊字符。n* : 表示其前的原子可以出现 0次、1次、或多次 0,n+ : 表示其前的原子可以出现1次 或多次, 不能没有最少要有一个 1,n? : 表示其前面的原子可以出现0次或1次, 有只能有一次,要么没有 0,1374.7.2 常用对象的介绍常用对象的介绍(续)(续)n : 用于自己定义前面原子出现的次数om /m表示一个整数, 5表示前面的原子出现5次om,n /m和n表示一个整数,2,5 m要小于n, 表示前面出现的原子,最少m次,最多n次,包括m和n次om, /表示前面的原子最少出
28、现m次,最多无限n. : 默认情况下,表示除换行符外任意一个字符n : 直接在一个正则表达式的第一个字符出现,则表达必须以这个正则表达式开始n$ : 直接在一个正则表达式的最后一个字符出现,则表达必须以这个正则表达式结束384.7.2 常用对象的介绍常用对象的介绍(续)(续)o| : 表示或的关系 , 它的优先级别是最低的, 最后考虑它的功能ob : 表示一个边界oB : 表示一个非边界o() : 重点n() 作用:o 是作为大原子使用o改变优先级,加上括号可以提高优先级别o作为子模式使用, 正则表达式不先对一个字符串匹配一次, 全部匹配作为一个大模式,放到数组的第一个元素中,每个()是一个子
29、模式按顺序放到数组的其它元素中去。o可以取消子模式,就将()作为大原子或改变优先级使用, 在括号中最前面使用?:就可以取消这个()表示的子模式o反向引用, 可以在模式中直接将子模式取出来,再作为正则表达式模式的一部分。394.7.2 常用对象的介绍常用对象的介绍(续)(续)例如:/gimo元字符的运算优先级n n () (?:) n* + ? n $ bo模式修正符ng (全文查找) ni (忽略大小写) nm (多行查找) 是对整个正则表达式调优使用, 也可以说是对正则表达式功能的扩展,可以组合使用,如gi。有些语言不需要模式修正符,asp就不需要。404.7.2 常用对象的介绍常用对象的介
30、绍(续)(续)o创建正则表达式正则表达式对象后,它被传递给字符串方法,或者字符串被传递给一个正则表达式方法n传递给字符串方法oReplace(re, replaceText)返回一个被替换后的新字符串oMatch(re)反回一个存放查找结果的数组。oSearch(re)返回与正则表达式查找内容匹配的第一个子字符串的位置。n正则表达式对象方法这种方法我们一般不使用。不做介绍。注意:该对象没有事件注意:该对象没有事件414.7.2 常用对象的介绍常用对象的介绍(续)(续)oDate对象对象属性:属性:无。方法:方法:o获取日期和时间,有getYear()、getMonth()、getDate()、
31、getDay()、getHours()、getMintes()、getSeconds()、getTime()等;o设置日期和时间,有setYear()、setMonth()、setDate()、setHours()、setMintes()、setSeconds()、setTime()等。注意:该对对象没有事件注意:该对对象没有事件424.7.2 常用对象的介绍常用对象的介绍(续)(续)oArray数组对象数组对象用来在单独的变量名中存储一系列的值,避免了同时声明很多变量使得程序结构变得复杂,导致难于理解和维护。数组一般用在需要对一批同类的数据逐个进行一样的处理中。但由于JavaScript语言
32、是一个弱类型的语言,JavaScript同样不检查存入数组的每个元素的类型是否一致,也就是说,可以不一样。n创建ovar course = new Array ();o或者:var course = ;n数组中元素的访问:数组名下标注:下标总是从0开始且必需是一个正整数,最大为32位(二进制位)的无符号数。n属性length 取得数组元素的个数n方法oConcat()连接另外一个或多个数组形成一个新的数组.oJoin()将数组中的元素连接成一个字符串。434.7.2 常用对象的介绍常用对象的介绍(续)(续)nPop()移除数组中的最后一个元素并返回该元素。nShift()移除数组中的第一个元素
33、并返回该元素。nUnshift()将指定的元素插入数组开始位置并返回该数组。nPush()将新元素添加到一个数组中,并返回数组的新长度值。nRevers()将数组的元素顺序反转并形成一个新的数组。n slice(start,end)返回一个数组的一段,start和end都是数组的下标。nSort()反回一个经过排序的新数组。nSplice(start, deleteCount, item1, item2, . . . ,itemN )从数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。o数组分一维数组,二维数组,三维数组和多维数组o也就是说数组中的元素存放的
34、还是一个数组。注意:该对象没有事件注意:该对象没有事件444.7.2 常用对象的介绍常用对象的介绍(续)(续)oMath 对象是一个固有对象,提供基本数学函数和常数。n不能用 new 运算符创建,直接使用就可以。n常数oMath.E 自然对数的底约等于 2.718oMath.LN2 2的自然对数约等于 0.693oMath. LN10 10的自然对数约等于2.302oMath.LOG2E 以2为底,e(自然对数的底)的对数约等于1.442oMath.LOG10E 以10为底,e的对数约等于0.434oMath.PI 圆的周长与其直径的比值,约等于 3.1493oMath.SQRT1_2 2的平
35、方根分之一,约等于0.707oMath.SQRT2 2的平方根,约等于1.414454.7.2 常用对象的介绍常用对象的介绍(续)(续)o方法nMath.abs()返回数的绝对值。nMath.sin()返回数的余弦值nMath.cos()nMath.tan()nMath.asin()nMath.acos()nMath.atan()nMath.atan2(x, y)返回由 X 轴到 (x, y) 点的角度(以弧度为单位)。 nMath.ceil()反回不小于参数的最小整数nMath.exp()反回e的幂nMath.floor()返回小于等于其数值参数的最大整数 nMath.log()返回数字的自
36、然对数nMath.max()返回给出的零个或多个数值表达式中较大者 464.7.2 常用对象的介绍常用对象的介绍(续)(续)oMath.min()返回给出的零个或多个数值表达式中较小的值 oMath.pow(base,exponent)返回base的exponent次幂。 oMath.random()返回介于 0 和 1 之间的伪随机数,有可能等于0,但总小于1。oMath.round()返回与给出的数值表达式最接近的整数,按四舍五入。oMath.sqrt()返回数字的平方根。该对象没有事件该对象没有事件474.7.2 常用对象的介绍常用对象的介绍(续)(续)oGlobal 对象对象n是一个固
37、有对象,目的是把所有全局方法集中在一个对象中。nGlobal 对象没有语法。直接调用其方法。n方法oEscape(charstring)方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。 oEval(codestring)检查 JScript 代码并执行oisFinite()返回一个 Boolean 值,指明所提供的数字是否是有限的 oisNaN()返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 oparseFloot()返回由字符串转换得到的浮点数oparseInt()返回由字符串转换得到的整数 ounescape()解码用
38、escape 方法进行了编码的 String 对象 484.7.2 常用对象的介绍常用对象的介绍(续)(续)window对象对象是每个窗口或框架的顶层对象,且是文档、位置及历史对象的父对象Window 对象是 JavaScript 层级中的顶层对象。这个对象会在一个页面中 或 出现时被自动创建,也就是一个浏览器中显示的网页会自动拥有相关的Window对象。 o属性属性nframes确定文档中帧的数目,帧作为实现一个窗口的分隔操作,起到非常有用的价值。nParent指明当前窗口或帧的父窗口。nStatus包含文档窗口中帧中的当前信息。nDefaultstatus默认状态,它的值显示在窗口的状态栏
39、中。nTop包括的是用以实现所有的下级窗口的窗口。nWindow指的是当前窗口nSelf引用当前窗口o方法方法nAlert(“输出的内容”);nPromp(“提示输入的内容”)该方法会反回一个用户输入的内容。494.7.2 常用对象的介绍常用对象的介绍(续)(续)nConfirm(“确定的内容”)弹出的窗口有“确定”和“取消”两个按钮,当用户点击确定按钮是返回的值为true,当点击取消按钮时反边的值为falsenOpen(url,”,”top=,left=,width=,height=,scrollbars=,status=,menubar=,toolbar=, resizable=”)打开窗
40、口nshowModalDialog(url,dialogWidth:600px;dialogHeight:300px;help:no;status:no;scroll:no;center:yes; Resizable:no)打开一个模态窗口nClose()关闭窗口nresizeTo(x,y)把窗口设成指定宽度和高度。nresizeBy(x,y)相对于当前窗口调整窗口大小。nscrollBy(x,y)滚动相对于当前一个位置nscrollTo(x,y)滚动到指定位置nsetTimeout(code,delay)设置延迟执行代码nsetInterval(code,delay)设置周期性执行代码,可以
41、返回一个对象nclearInterval(上个函数返回的对象)停止周期性执行代码504.7.2 常用对象的介绍常用对象的介绍(续)(续)o事件事件nOnclick 当鼠标在浏览器窗口中单击时发生的事件nonFocus 当浏览器窗口成为当前活动窗口时发生的事件nonBlur 当前浏览器窗口成非活动窗口时。nOnload 一个网页在浏览器加载到完全显示这前发生的事件nOnunload 当浏览器清除当前窗口的内容时发生nonResize 当浏览器窗口宽度和高度发生改变时nOnerror 当浏览器窗口发生javascript错误时514.7.2 常用对象的介绍常用对象的介绍(续)(续)oScreen对
42、象,用来描述屏幕的颜色和显示信息,window对象的子对象。n属性oavailHeight屏幕的实际高度oavailWidth屏幕的实际宽度ocolorDepth屏幕的色盘深度oHeight屏幕的区域高度(分辨率的第二个数)oWidth屏幕的区域宽度(分辨率的第一个数)n方法没有n事件没有524.7.2 常用对象的介绍常用对象的介绍(续)(续)oNavigator对象,用来取得浏览器的信息,window对象的子对象。n属性oappCodeName浏览哭代码(Mozilla)oappName浏览器名称(Microsoft Internet Explorer)oappVersion浏览器的版本oL
43、anguage浏览器的语言oPlatform浏览器编译平台ouserAgent浏览器用户表头ocookieEnabled浏览器是否支持cookie534.7.2 常用对象的介绍常用对象的介绍(续)(续)omimeTypes当前浏览器所支持的MIME类型信息,类似于一个数组nmimeTypes.length长度nmimeTypesi.type名称nmimeTypesi.description描述nmimeTypesi.suffixes扩展nmimeTypesi.enabledPlugin.name附注n方法:javaEnabled检测浏览器是否已经启用Java支持功能,启用则返回true否则返回
44、falsen事件没有544.7.2 常用对象的介绍常用对象的介绍(续)(续)oHistory对象,是document对象的子对象,也是window对象的一个子对象,可以记录客户端浏览器窗口最近浏览过的网页。也可以实现浏览器窗口中的前进,后退等功能的按钮。也就是用来跟踪窗口中曾经使用过的URL。n属性oLength浏览过多少个网页n方法oHistory.back()oHistory.forward()oHistory.go(n)554.7.2 常用对象的介绍常用对象的介绍(续)(续)oLocation对象,可以取得或设置浏览器窗口的URL地址信息,是document和window对象的子对象。n
45、属性oHref取得或设置整个URL字符串oProtocol取得URL第一部分的字符串,既协议oHostname包含URL中主机名的字符串n方法oAssign()加载新文档,和更改href属性一样。oReplace()用新的URL取代当前窗口的URL,达到加载新文档的效果,但不加入到历史记录中oReload(loadType)重新加载一个文档,参数为true时从服务器载入,false时从缓存载入,默认是falsen没有事件564.7.2 常用对象的介绍常用对象的介绍(续)(续)oexternal 对象,允许访问由 Microsoft Internet Explorer 浏览器组件宿主应用程序提供
46、的附加对象模型。 n方法oAddDesktopComponent(url,title,n,n,n,n)向 Microsoft 活动桌面 中添加 Web 站点或图像。 oAddFavorite(url,title)出现一个对话框提示用户将指定的 URL 添加到收藏夹收藏夹内。Firefox中添加到收藏夹: window.sidebar.addPanel(Title,Url,)574.7.2 常用对象的介绍常用对象的介绍(续)(续)oDocument对象,管理一个文档的相关信息并提供操作文档的接口,该对象是window对象的一个子对象。每一个html标记都是文档中的一个元素或叫document对象
47、的子对象。n属性olocation取得文档的地址olastModfied取得文档最后修改的时间oTitle文档的标题ourl文档的来源oReferrer取得上一文档地址olinkColorovlinkColoroalinkColorobgColorofgColor584.7.2 常用对象的介绍常用对象的介绍(续)(续)oAll取得包含所有文档元素的HTML标记的数组访问focument中的各元素:nDocument.allinDocument.allnamenDocument.all.tagstagNamen方法oWrite()向页面中输出内容ogetElementById()通过元素的ID号
48、引用网页中相应的元素ogetElementByName()通过元素的名称引用网页中相应元素的名称ogetElementByTag()通过标记来引用网页中某类元素594.7.2 常用对象的介绍常用对象的介绍(续)(续)oBody对象,指定文档主体的开始和结束.n属性oBgcoloroBackgroundoTextoLinkoAlinkoVlinkn方法osetHomePage(url)只能IE有效使用前必须设置:document.body.style.behavior=“url(#dufault#homepage)”604.7.2 常用对象的介绍常用对象的介绍(续)(续)oForm对象,是一个表
49、单对象,可以获取或设置表单项的值。n属性oAll表单中各元素的集合。oElements表单中各元素的集合,input type=image除外。n方法osubmit()提交表单。oReset()重置表单。n事件oOnsubmit当表单提交时发生的事件。oOnreset当表单重置时发生的事件。说明:可以通过“表单名.表单项名”的方式访问各表单项元素。614.7.2 常用对象的介绍常用对象的介绍(续)(续)oFunction 对象,创建函数。n创建 var myFun=new Function(argumentList,body)oargumentList可选项。函数接收的参数列表。obody可选
50、项。包含调用该函数时被执行的 JScript 代码块的字符串。n 属性oarguments为当前执行的 function 对象返回一个arguments 对象,arguments对象其实就是一个数组。ocaller返回一个对函数的引用,该函数调用了当前函数。如果是顶层返回的是null。oConstructor返回对象的构造函数名。 n调用:myFun(argumentList)在调用函数时,请确保包含了括号和必需的参数。调用函数时不用括号导致返回函数的文本而不是函数执行的结果 624.7.2 常用对象的介绍常用对象的介绍(续)(续)oCookei对象,用以存取用户的数据,它以文件的形式保存在客
51、户端的cookies文件夹中。也可以看作是document对象的属性,在使用之前应该用navigator.cookieEnabled检查浏览器是否支持它。n创建与读取:每一个cookie都是一个键/值对,可以用document.cookie来设置和读取,这儿cookie是document的属性。如:document.cookie=“键1=值1;键2=值2”,也就是说可以有多个cookie,它们之间用分号分开,也可以分开写:Document.cookie=“键1=值1”;Document.cookie=“键2=值2”;直接用document.cookie就可以读取所有的cookei键/值。634
52、.7.2 常用对象的介绍常用对象的介绍(续)(续)oCookie的编码在cookie中是不允许包含空格,分号,逗号等特殊符号的,如果要将这些特殊符号也写入cookie中就要在定入之前对cookie用函数escape()编码,在读取时通过unescape()将其还原。oCookie的生存期当cookie被创建后,只要浏览器窗口不关闭cookie就一直有效,浏览器一但关闭后cookie就会消失。要想不让其消失就要为cookie设置一个生存期。Document.cookie=“expire=毫秒数”o设置cookie的路径和域644.7.2 常用对象的介绍常用对象的介绍(续)(续)Cookie一但创
53、建后,与创建cookie的页面同目录下的其它页面都可以访问该cookie,但不是同目录下的页面不可以访问,要想让不同目录下的页面也能访问,就要为该cookie设置一个路径Document.cookie=“path=/”如果要想在不同的域中访问:Document.cookie=“domain=域名”oCookie的安全性document.cookie=“secure”654.7.2 常用对象的介绍常用对象的介绍(续)(续)o使用cookie的注意事项n由于cookie是存放在客户端上的文件,可以使用第三方工具来查看其内容,因些cookie并不安全。n每个cookie存放的数据最多不能超过4kb。
54、n每个cookie文件最多只能存储300个cookie.nCookie可能被禁用。当用户非常注重个人隐私保护时,很可能禁用浏览器的cookie功能。nCookie是与浏览器相关的。这意味着既使访问的是同一个页面,不同的浏览哭器之间保存的cookie也是不能互相访问的。nCookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户无意删除。nCookie安全性不够高,所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。664.7.2 常用对象的介绍常用对象的介绍(续)(续)oEvent对象,代表事件状态,如事件发生的元
55、素,键盘状态,鼠标位置和鼠标按钮状态 。n属性obutton设置或获取用户所按的鼠标按钮。oclientX设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 oclientY设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。 okeyCode设置或获取与导致事件的按键关联的 Unicode 按键代码。 674.7.2 常用对象的介绍常用对象的介绍(续)(续)ooffsetX设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。 ooffsetY设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。
56、oscreenX设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。 oscreenY设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。 owheelDelta设置或获取滚轮按钮滚动的距离和方向。 ox设置或获取鼠标指针位置相对于父文档的 x 像素坐标。 oy设置或获取鼠标指针位置相对于父文档的 y 像素坐标。n 没有事件,没有方法。684.7.2 常用对象的介绍常用对象的介绍(续)(续)Error对象,每当js脚本产生运行时错误,就产生 Error 对象的一个实例以描述错误。o属性:nNumber:错误号,是32位的值,高 16 位字是设备代码,而低字是实际的错误代码。 nDescript
57、ion:错误的描述。o处理错误的语句nThrow exception抛出一个错误;694.7.2 常用对象的介绍常用对象的介绍(续)(续)ntry tryStatementscatch(exception)catchStatementsfinally finallyStatements 说明:tryStatement必选项。可能发生错误的语句。exception可选项,任何变量名。catchStatement可选项,处理在相关联的 tryStatement中发生的错误的语句。finallyStatements可选项,在所有其他过程发生之后无条件执行的语句。704.7.3 常用事件常用事件oLo
58、ad和Unload事件:当页面完成下载时产生Load事件,同样,当退出页面时可以产生Unload事件,onLoad和onUnload是设置当事件发生时执行的JavaScript命令(也就是事件处理程序)。oChange事件:当正在进行的动作或状态改变时产生Change事件,onChange是设置当事件发生时执行的JavaScript命令。例如:当利用text或textarea元素输入字符时,元素的值发生改变,从而产生该事件;当在select列表项中一个选项状态改变后也会产生该事件。oSelect选择事件714.7.3 常用事件的应用常用事件的应用(续)(续)oFocus事件和Blur事件:当用
59、户单击页面元素时产生Focus事件,此时使该对象成为当前对象,成为焦点。而当元素不再拥有焦点时,则该对象退到后台,引发Blur事件,它与Focus事件是对应的关系。onFocus和onBlur是设置当相应事件发生时要执行的javaScript命令。oError事件:当发生错误时产生该事件。724.7.3 常用事件的应用常用事件的应用(续)(续)oClick事件:当用户单击鼠标时产生该事件,onclick是设置事件发生时要执行的javaScript命令。该事件通常在下列基本对象中产生:nbodynbutton(按钮对象)ncheckbox(复选框)或(检查列表框)nradio(单选按钮)nres
60、et button(重置按钮)nsubmit button(提交按钮)nImage图象域nImg图片oMouseOver事件:当我们将鼠标指针放到元素上面,则产生MouseOver事件,onMouserOver是设置事件发生时要执行的JavaScript命令。734.7.3 常用事件的应用常用事件的应用(续)(续)oMouseMove事件:当我们将鼠标指针放到面面元素上移动时产生该事件,onMouseMove是设置事件发生时执行的JavaScript代码。 omouseOut事件:当我们将鼠标指针从一个元素上面移到该元素的外面时产生该事件,onMouseOut是设置当该事件发生时要执行的JavaScript命令。omouseWheel事件:当我们滚动鼠标中轮滚动时产生该事件,onMouseWheel是设置当该事件发生时要执行的JavaScript命令。 744.7.3 常用事件的应用常用事件的应用(续)(续)omouseDown事件omouserUp事件okeyDownokeyUpokeyPress按下并释放键盘键事件oSubmit提交事件oReset重置事件。75