




已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP程序设计教程,第2章JSP开发基础,JavaScriptJavaScript是属于网络的脚本语言!JavaScript是因特网上最流行的脚本语言。JavaScript很容易使用!你一定会喜欢它的!开始学习JavaScript!,什么是JavaScript?,JavaScript被设计用来向HTML页面添加交互行为。JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言)。JavaScript由数行可执行计算机代码组成。JavaScript通常被直接嵌入HTML页面。JavaScript是一种解释性语言(就是说,代码执行不进行预编译)。所有的人无需购买许可证均可使用JavaScript。,什么是JavaScript?,JavaScript是一种基于对象和事件驱动并具有安全性能的解释型脚本语言,在Web应用中得到了非常广泛的应用。它不但可以用于编写客户端的脚本程序,由Web浏览器解释执行,而且还可以编写在服务器端执行的脚本程序,在服务器端处理用户提交的信息并动态地向浏览器返回处理结果,通常在JSP中应用JavaScript编写客户端脚本程序。,什么是JavaScript?,JavaScript与操作系统无关,它依赖JavaScript的解释引擎。浏览器通过内嵌JavaScript的解释引擎从而获得了对JavaScript的处理能力。,Java和JavaScript是相同的吗?,不同!在概念和设计方面,Java和JavaScript是两种完全不同的语言。Java(由太阳微系统公司开发)很强大,同时也是更复杂的编程语言,就像同级别的C和C+。,JavaScript能做什么?,JavaScript为HTML设计师提供了一种编程工具HTML创作者往往都不是程序员,但是JavaScript却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能力将短小的代码片断放入他们的HTML页面当中。JavaScript可以将动态的文本放入HTML页面类似于这样的一段JavaScript声明可以将一段可变的文本放入HTML页面:document.write(+name+)JavaScript可以对事件作出响应可以将JavaScript设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个HTML元素时。JavaScript可以读写HTML元素JavaScript可以读取及改变HTML元素的内容。JavaScript可被用来验证数据在数据被提交到服务器之前,JavaScript可被用来验证这些数据。JavaScript可被用来检测访问者的浏览器JavaScript可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。JavaScript可被用来创建cookiesJavaScript可被用来存储和取回位于访问者的计算机中的信息。,如何实现JavaScript,HTML的标签用于把JavaScript插入HTML页面当中。如何把JavaScript放入HTML页面document.write(HelloWorld!);上面的代码会在HTML页面中产生这样的输出:HelloWorld!,实例解释:如果需要把一段JavaScript插入HTML页面,我们需要使用标签(同时使用type属性来定义脚本语言)。这样,和就可以告诉浏览器JavaScript从何处开始,到何处结束。,document.write字段是标准的JavaScript命令,用来向页面写入输出。把document.write命令输入到与之间后,浏览器就会把它当作一条JavaScript命令来执行。这样浏览器就会向页面写入HelloWorld!。,注意:,如果我们不使用标签,浏览器就会把document.write(HelloWorld!)当作纯文本来处理,也就是说会把这条命令本身写到页面上。,把JavaScript放置到何处,当页面载入时,会执行位于body部分的JavaScript。当被调用时,位于head部分的JavaScript才会被执行。,在哪里放置JavaScript,页面中的脚本会在页面载入浏览器后立即执行。我们并不总希望这样。有时,我们希望当页面载入时执行脚本,而另外的时候,我们则希望当用户触发事件时才执行脚本。,位于head部分的脚本:,当脚本被调用时,或者当事件被触发时,脚本就会被执行。当你把脚本放置到head部分后,就可以确保在需要使用脚本之前,它已经被载入了。.,位于body部分的脚本:,在页面载入时脚本就会被执行。当你把脚本放置于body部分后,它就会生成页面的内容。.,在body和head部分的脚本:,你可以在文档中放置任何数量的脚本,因此你既可以把脚本放置到body,又可以放置到head部分。.,使用外部JavaScript,有时,你也许希望在若干个页面中运行JavaScript,同时不在每个页面中写相同的脚本。为了达到这个目的,你可以将JavaScript写入一个外部文件之中。然后以.js为后缀保存这个文件。注意:外部文件不能包含标签。然后把.js文件指定给标签中的src属性,就可以使用这个外部文件了:.提示:您可以把.js文件放到网站目录中通常存放脚本的子目录中,这样更容易管理和维护。,JavaScript语句,JavaScript是由浏览器执行的语句序列。JavaScript语句是发给浏览器的命令。这些命令的作用是告诉浏览器要做的事情。这个JavaScript语句告诉浏览器向网页输出Helloworld:document.write(Helloworld);通常要在每行语句的结尾加上一个分号。大多数人都认为这是一个好的编程习惯,而且在web上的JavaScript案例中也常常会看到这种情况。分号是可选的(根据JavaScript标准),浏览器把行末作为语句的结尾。正因如此,常常会看到一些结尾没有分号的例子。注释:通过使用分号,可以在一行中写多条语句。,JavaScript代码,JavaScript代码是JavaScript语句的序列。浏览器按照编写顺序依次执行每条语句。本例向网页输出一个标题和两个段落:document.write(Thisisaheader);document.write(Thisisaparagraph);document.write(Thisisanotherparagraph);,JavaScript代码块,JavaScript可以分批地组合起来。代码块以左花括号开始,以右花括号结束。代码块的作用是一并地执行语句序列。本例向网页输出一个标题和两个段落:,JavaScript注释,JavaScript注释可用于增强代码的可读性。可以添加注释来对JavaScript进行解释,或者提高其可读性。单行的注释以/开始。本例用单行注释来解释代码:,JavaScript多行注释多行注释以/*开头,以*/结尾。本例使用多行注释来解释代码:,JavaScript变量,变量是用于存储信息的容器:x=5;length=66.10;当您回忆在学校学过的代数课程时,想到的很可能是:x=5,y=6,z=x+y等等。还记得吗,一个字母可以保存一个值(比如5),并且可以使用上面的信息计算出z的值是11。您一定没有忘记,对吧。这些字母称为变量,变量可用于保存值(x=5)或表达式(z=x+y)。,正如代数一样,JavaScript变量用于保存值或表达式。可以给变量起一个简短名称,比如x,或者更有描述性的名称,比如length。JavaScript变量也可以保存文本值,比如carname=Volvo。JavaScript变量名称的规则:变量对大小写敏感(y和Y是两个不同的变量)变量必须以字母或下划线开始注释:由于JavaScript对大小写敏感,变量名也对大小写敏感。,声明(创建)JavaScript变量,在JavaScript中创建变量经常被称为“声明”变量。您可以通过var语句来声明JavaScript变量:varx;varcarname;在以上声明之后,变量并没有值,不过您可以在声明它们时向变量赋值:varx=5;varcarname=Volvo;,向未声明的JavaScript变量赋值,如果您所赋值的变量还未进行过声明,该变量会自动声明。这些语句:x=5;carname=Volvo;与这些语句的效果相同:varx=5;varcarname=Volvo;,重新声明JavaScript变量,如果您再次声明了JavaScript变量,该变量也不会丢失其原始值。varx=5;varx;在以上语句执行后,变量x的值仍然是5。在重新声明该变量时,x的值不会被重置或清除。,JavaScript算术运算符,算术运算符用于执行变量与/或值之间的算术运算。给定y=5,下面的表格解释了这些算术运算符:,JavaScript赋值运算符,赋值运算符用于给JavaScript变量赋值。给定x=10和y=5,下面的表格解释了赋值运算符:,用于字符串的+运算符,+运算符用于把文本值或字符串变量加起来(连接起来)。如需把两个或多个字符串变量连接起来,请使用+运算符。在以上语句执行后,变量txt3包含的值是Whataveryniceday。,要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:txt1=Whatavery;txt2=niceday;txt3=txt1+txt2;或者把空格插入表达式中:txt1=Whatavery;txt2=niceday;txt3=txt1+txt2;在以上语句执行后,变量txt3包含的值是:Whataveryniceday,对字符串和数字进行加法运算请看这些例子:,规则是:如果把数字与字符串相加,结果将成为字符串。,JavaScript比较和逻辑运算符,比较运算符比较运算符在逻辑语句中使用,以测定变量或值是否相等。给定x=5,下面的表格解释了比较运算符:,逻辑运算符,逻辑运算符用于测定变量或值之间的逻辑。给定x=6以及y=3,下表解释了逻辑运算符:,条件运算符,JavaScript还包含了基于某些条件对变量进行赋值的条件运算符。语法variablename=(condition)?value1:value2例子greeting=(visitor=PRES)?DearPresident:Dear;如果变量visitor中的值是PRES,则向变量greeting赋值DearPresident,否则赋值Dear。,条件语句,在您编写代码时,经常需要根据不同的条件完成不同的行为。可以在代码中使用条件语句来完成这个任务。在JavaScript中,我们可以使用下面几种条件语句:if语句在一个指定的条件成立时执行代码。if.else语句在指定的条件成立时执行代码,当条件不成立时执行另外的代码。if.elseif.else语句使用这个语句可以选择执行若干块代码中的一个。switch语句使用这个语句可以选择执行若干块代码中的一个。,JavaScript消息框,警告框警告框经常用于确保用户可以得到某些信息。当警告框出现后,用户需要点击确定按钮才能继续进行操作。语法:alert(文本),确认框确认框用于使用户可以验证或者接受某些信息。当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。如果用户点击确认,那么返回值为true。如果用户点击取消,那么返回值为false。语法:confirm(文本),提示框提示框经常用于提示用户在进入页面前输入某个值。当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为null。语法:prompt(文本,默认值),函数,函数(function)是一个可执行的程序代码段。函数被定义后,可以多次被程序所调用。JavaScript的函数可以带有实际参数或形式参数,用于指定这个函数执行计算的时候所需要使用到的一个或者多个值,在函数执行完后可以返回一个值来表示计算结果。,JavaScript函数,将脚本编写为函数,就可以避免页面载入时执行该脚本。函数包含着一些代码,这些代码只能被事件激活,或者在函数被调用时才会执行。你可以在页面中的任何位置调用脚本(如果函数嵌入一个外部的.js文件,那么甚至可以从其他的页面中调用)。函数在页面起始位置定义,即部分。,functiondisplaymessage()alert(HelloWorld!),假如上面的例子中的alert(Helloworld!)没有被写入函数,那么当页面被载入时它就会执行。现在,当用户击中按钮时,脚本才会执行。我们给按钮添加了onClick事件,这样按钮被点击时函数才会执行。,如何定义函数,创建函数的语法:function函数名(var1,var2,.,varX)代码var1,var2等指的是传入函数的变量或值。和定义了函数的开始和结束。注意:无参数的函数必须在其函数名后加括号:function函数名()代码注意:别忘记JavaScript中大小写字母的重要性。function这个词必须是小写的,否则JavaScript就会出错。另外需要注意的是,必须使用大小写完全相同的函数名来调用函数。,return语句,return语句用来规定从函数返回的值。因此,需要返回某个值的函数必须使用这个return语句。例子下面的函数会返回两个数相乘的值(a和b):functionprod(a,b)x=a*breturnx当您调用上面这个函数时,必须传入两个参数:product=prod(2,3)而从prod()函数的返回值是6,这个值会存储在名为product的变量中。,JavaScript变量的生存期,当您在函数内声明了一个变量后,就只能在该函数中访问该变量。当退出该函数后,这个变量会被撤销。这种变量称为本地变量。您可以在不同的函数中使用名称相同的本地变量,这是因为只有声明过变量的函数能够识别其中的每个变量。如果您在函数之外声明了一个变量,则页面上的所有函数都可以访问该变量。这些变量的生存期从声明它们之后开始,在页面关闭时结束。,JavaScript循环,在编写代码时,你常常希望反复执行同一段代码。我们可以使用循环来完成这个功能,这样就用不着重复地写若干行相同的代码。JavaScript有两种不同种类的循环:for将一段代码循环执行指定的次数while当指定的条件为true时循环执行代码,有两种可以用在循环中的语句:break和continue。,Breakbreak命令可以终止循环的运行,然后继续执行循环之后的代码(如果循环之后有代码的话)。Continuecontinue命令会终止当前的循环,然后从下一个值继续运行。,JavaScriptFor.In声明,For.In声明用于对数组或者对象的属性进行循环操作。for.in循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。语法:for(变量in对象)在此执行代码“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。,实例:使用for.in循环遍历数组。varxvarmycars=newArray()mycars0=Saabmycars1=Volvomycars2=BMWfor(xinmycars)document.write(mycarsx+),事件,事件是可以被JavaScript侦测到的行为。JavaScript使我们有能力创建动态页面。事件是可以被JavaScript侦测到的行为。网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。比方说,我们可以在用户点击某按钮时产生一个onClick事件来触发某个函数。事件在HTML页面中定义。事件举例:鼠标点击页面或图像载入鼠标悬浮于页面的某个热点之上在表单中选取输入框确认表单键盘按键注意:事件通常与函数配合使用,当事件发生时函数才会执行。,event.htm,functiondisplayDate()document.getElementById(demo).innerHTML=Date();MyFirstWebPageDisplayDate,onload和onUnload当用户进入或离开页面时就会触发onload和onUnload事件。onload事件常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的网页。onload和onUnload事件也常被用来处理用户进入或离开页面时所建立的cookies。例如,当某用户第一次进入页面时,你可以使用消息框来询问用户的姓名。姓名会保存在cookie中。当用户再次进入这个页面时,你可以使用另一个消息框来和这个用户打招呼:WelcomeJohnDoe!。,onFocus,onBlur和onChangeonFocus、onBlur和onChange事件通常相互配合用来验证表单。下面是一个使用onChange事件的例子。用户一旦改变了域的内容,checkEmail()函数就会被调用。,onSubmitonSubmit用于在提交表单之前验证所有的表单域。下面是一个使用onSubmit事件的例子。当用户单击表单中的确认按钮时,checkForm()函数就会被调用。假若域的值无效,此次提交就会被取消。checkForm()函数的返回值是true或者false。如果返回值为true,则提交表单,反之取消提交。,onMouseOver和onMouseOutonMouseOver和onMouseOut用来创建“动态的”按钮。下面是一个使用onMouseOver事件的例子。当onMouseOver事件被脚本侦测到时,就会弹出一个警告框:hhhhhhhh,Try.Catch语句,try.catch可以测试代码中的错误。try部分包含需要运行的代码,而catch部分包含错误发生时运行的代码。语法:try/在此运行代码catch(err)/在此处理错误,Throw声明,throw声明的作用是创建exception(异常)。你可以把这个声明与try.catch声明配合使用,以达到控制程序流并产生精确错误消息的目的。语法:throw(exception)exception可以是字符串、整数、逻辑值或者对象。,varx=prompt(Enteranumberbetween0and10:,)tryif(x10)throwErr1elseif(x,JavaScript特殊字符,反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。vartxt=Wearetheso-calledVikingsfromthenorth.document.write(txt)在JavaScript中,字符串使用单引号或者双引号来起始或者结束。这意味着上面的字符串将被截为:Wearetheso-called。要解决这个问题,就必须把在Viking中的引号前面加上反斜杠()。这样就可以把每个双引号转换为字面上的字符串。vartxt=Wearetheso-calledVikingsfromthenorth.document.write(txt)现在JavaScript就可以输出正确的文本字符串了:Wearetheso-calledVikingsfromthenorth。,document.write(YouSystem.out.print(txt.length();,方法方法指对象可以执行的行为(或者可以完成的功能)。在下面的例子中,我们使用字符串对象的toUpperCase()方法来显示大写字母文本。varstr=Helloworld!document.write(str.toUpperCase()上面的代码输出为:HELLOWORLD!,日期,定义日期Date对象用于处理日期和时间。可以通过new关键词来定义Date对象。以下代码定义了名为myDate的Date对象:varmyDate=newDate()注释:Date对象自动使用当前的日期和时间作为其初始值。,操作日期通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。在下面的例子中,我们为日期对象设置了一个特定的日期(2008年8月9日):varmyDate=newDate()myDate.setFullYear(2008,7,9)注意:表示月份的参数介于0到11之间。也就是说,如果希望把月设置为8月,则参数应该是7。在下面的例子中,我们将日期对象设置为5天后的日期:varmyDate=newDate()myDate.setDate(myDate.getDate()+5)注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。,比较日期日期对象也可用于比较两个日期。下面的代码将当前日期与2008年8月9日做了比较:,数组,定义数组数组对象用来在单独的变量名中存储一系列的值。我们使用关键词new来创建数组对象。下面的代码定义了一个名为myArray的数组对象:varmyArray=newArray()有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。,访问数组通过指定数组名以及索引号码,你可以访问某个特定的元素。下面是代码行:document.write(mycars0)下面是输出:Saab,修改已有数组中的值如需修改已有数组中的值,只要向指定下标号添加一个新值即可:mycars0=Opel;现在,以上代码:document.write(mycars0);将输出:Opel,Boolean对象,您可以将Boolean对象理解为一个产生逻辑值的对象包装器。Bool
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 悉尼留学中介合同范本
- 水库解除合同范本
- 舒兰辅警考试题库2025(有答案)
- 杭州租房合同范本
- 牙签销售合同范本模板
- 东京小额买房合同范本
- 2025年医院空气净化管理规范试题(附答案)
- 腊肉代加工合同范本
- 综合实训胸痛试题及答案
- 2025年浙江档案职称考试(档案事业概论)(初级)测试题及答案
- GB/T 10079-2018活塞式单级制冷剂压缩机(组)
- (完整版)人教版八年级下册《道德与法治》期末测试卷及答案【新版】
- 维护新疆稳定 实现长治久安课件
- 北京大学人民医院-医疗知情同意书汇编
- 体育社会学(绪论)卢元镇第四版课件
- 档案管理员述职报告9篇
- 舞台灯光基础知识教学课件
- 牙体牙髓病最全课件
- 脑卒中的功能锻炼课件
- 护理质控简报
- JJG 700 -2016气相色谱仪检定规程-(高清现行)
评论
0/150
提交评论