第06章 ASP中的脚本语言JavaScript.ppt

大学WEB数据库技术应用教程-王承君-PPT文稿资料课件PPT

收藏

资源目录
跳过导航链接。
大学WEB数据库技术应用教程-王承君-PPT文稿资料课件PPT.zip
WEB数据库技术应用教程-王承君-PPT文稿资料
教案资料.ppt---(点击预览)
WEB数据库技术应用教程-王承君-大学教学资料
文稿ppt_ppt.txt---(点击预览)
文稿ppt_ppt.jpg---(点击预览)
文稿ppt.ppt---(点击预览)
(课件资料)《WEB数据库技术应用教程》-王承君
《Web数据库技术应用教程》-王承君-电子教案
压缩包内文档预览:(预览前20页/共147页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836379    类型:共享资源    大小:15.89MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 web 数据库技术 应用 利用 运用 教程 王承君 ppt 文稿 资料 课件
资源描述:
大学WEB数据库技术应用教程-王承君-PPT文稿资料课件PPT,大学,web,数据库技术,应用,利用,运用,教程,王承君,ppt,文稿,资料,课件
内容简介:
返回总目录,学习目标 l 了解JavaScript的语言类型 l 掌握JavaScript语言语法 l 掌握JavaScript语言扩充,第6章 ASP中的脚本语言JavaScript,返回总目录,第6章 ASP中的脚本语言JavaScript,6.1 JavaScript简介 6.1.1 什么是JavaScript 6.1.2 JavaScript和Java的区别 6.2 JavaScript的数据类型 6.2.1 JavaScript中的变量 6.2.2 JavaScript中的常量 6.3 JavaScript的运算符 6.3.1 算术运算符 6.3.2 关系运算符 6.3.3 逻辑运算符 6.3.4 位运算符 6.3.5 赋值运算符 6.3.6 运算符的优先级,6.4 程序结构 6.4.1 选择程序结构 6.4.2 循环程序结构 6.4.3 JavaScript函数 6.5 JavaScript中的主要函数 6.6 对象 6.6.1 对象基础 6.6.2 常用对象 6.6.3 事件驱动,返回目录,HTML只能提供一种静态的信息资源,缺少动态的客户端与服务器端的交互。虽然可通过CGI (Common Gateway Interface)通用网关接口实现一定的交互,但由于该方法编程较为复杂,需要一个有经验的程序员才能完成这项工作。这样,能为基于CGI静态的HTML页面提供动态实时信息,并对客户操作进行反应的Web页面成为需要,JavaScript脚本正是满足这种需求而产生的语言。JavaScript的出现,使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交互式的表达能力。从而,它深受广大用户的喜爱和欢迎,是众多脚本语言中较为优秀的一种。,6.1 JavaScript简介,JavaScript是一种新的描述性语言,是一种基于对象和事件驱动并具有安全性能的脚本语言。它是由Netscape开发的,通过使用JavaScript你可以非常容易地开发出交互式的Web页,它是通过嵌入或调入在标准的HTML语言中实现的。 JavaScript具有以下几个基本特点: (1)是一种脚本编写语言。JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其他脚本语言一样,JavaScript同样也是一种解释性语言,识别JavaScript的浏览器会在网页下载后对它进行边解释边执行,而不需要编译过程。 (2)基于对象的语言。JavaScript是一种基于对象的语言。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。,6.1.1 什么是JavaScript,返回目录,(3)简单性。JavaScript的简单性主要体现在:用 JavaScript编程非常容易,不需要任何开发工具或编译器,用户可以使用创建HTML文档的编辑器来创建JavaScript程序,并可以直接在支持JavaScript的浏览器上执行。 JavaScript是一种宽松类型的语言,它可以不必显式定义变量的数据类型。在大多数情况下,JavaScript能根据需要自动进行转换。例如,如果试图将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。,6.1.1 什么是JavaScript,返回目录,(4)安全性。JavaScript是一种安全性语言,它不能将资料存储在Web服务器或用户的计算机上,更不能对用户文件进行修改或删除操作,只能通过浏览器实现信息浏览或动态交互。从而有效地防止资料的丢失。 (5)事件驱动的语言。JavaScript对用户的响应是采用以事件驱动的方式进行的,是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。,6.1.1 什么是JavaScript,返回目录,(6)平台无关性。JavaScript是依赖于浏览器本身,与操作环境无关,无论你使用Macintosh还是Windows,或是UNIX版本的Netscape Navigator,JavaScript都可正常运行。它只与解释它的浏览器有关。Netscape Navigator(2.0版以上)或者是Microsoft Internet Explorer(MSIE-3.0版以上)都支持JavaScript。现在几乎所有的人都在用这两种浏览器,所以大部分的人可以看到JavaScript描述语言的效果。,6.1.1 什么是JavaScript,返回目录,虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是LiveScript;而Java的前身是Oak语言。两种语言间的异同如下:,6.1.2 JavaScript和Java的区别,返回目录,(1)基于对象和面向对象。Java是一种真正的面向对象的语言,即使是开发简单的程序,也必须设计对象。JavaScript是一种基于对象和事件驱动的脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。 (2)解释和编译。两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。 JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户端由浏览器解释执行。,6.1.2 JavaScript和Java的区别,返回目录,(3)强变量和弱变量。两种语言所采取的变量是不一样的。 Java采用强类型变量检查,语法十分严谨,所有变量必须作声明。JavaScript中变量声明,采用弱类型,即变量在使用前不一定作声明。 (4)代码格式不一样。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中。 JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文件中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。,6.1.2 JavaScript和Java的区别,返回目录,(5)嵌入方式不一样。在HTML文件中,两种编程语言的标识不同,JavaScript使用.来标识,而Java使用.来标识。 (6)静态联编和动态联编。Java采用静态联编,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查。JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。,6.1.2 JavaScript和Java的区别,返回目录,JavaScript脚本语言同其他语言一样,有它自身的基本数据类型、表达式和算术运算符以及程序的基本框架结构。JavaScript提供了四种基本的数据类型用来处理数字和文字,而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。,6.2 JavaScript的数据类型,返回目录,变量的主要作用是存取资料、提供存放信息的容器。对于变量必须明确变量的命名、变量的类型、变量的声明及其变量的作用域。 1基本数据类型 JavaScript有四种基本的数据类型:数值(整数和实数)、字符串型(用“”号或括起来的字符或数值)、布尔型(使True或False表示)和空值。在JavaScript的基本类型中的资料可以是常量,也可以是变量。由于JavaScript采用弱类型的形式,因而一个资料的变量或常量可以在使用前不作声明,而是在使用或赋值时确定其资料的类型;也可以先声明该资料的类型,但使用中可以任意改变其事先定义的数据类型。,6.2.1 JavaScript中的变量,返回目录,2变量 (1)变量的命名。 JavaScript中的变量名必须以字母(AZ、az)或下划线开头,其余的字符可以是字母、下划线及数字的组合。变量名称中不能有空格、+、(、)或其他符号。例如:home1、_book2x、Order_Number等是合法的变量名,而23book、Ord+er是不合法的变量名。 不能使用JavaScript中的关键词作为变量。在JavaScript中定义了40多个关键词,这些关键词是JavaScript内部使用的,不能作为变量名。例如:var、if、char等都是JavaScript保留的关键词,不能使用它们对变量命名。最好把变量的意义与其代表的意思对应起来,以免出现错误。 JavaScript中的变量名是区分大小写的。例如home1、HOME1、Home1、hOme1表示了不同的变量。,6.2.1 JavaScript中的变量,返回目录,(2)变量的声明。 在JavaScript中,变量可以是四种基本数据类型中的任何一种,它可以用命令var来作声明,例如: var booknum; 该例子定义了一个booknum变量,但没有赋予它的值。可以在定义的同时赋予变量值,例如: var booknum=“There are 200 books“;,6.2.1 JavaScript中的变量,返回目录,在JavaScript中,变量也可以事先不作声明,而在使用时再根据资料的类型来确定其类型,而且同一变量可用于包含各种不同的数值。 如: x=100 ; y=“125“ ; xy=True ; x=“x is true“+y; x=true; 其中,第一个x为整型,y为字符串型,xy为布尔型,第二个x为字符串型,最后一个x为布尔型。,6.2.1 JavaScript中的变量,返回目录,(3)变量的作用域。 对于变量还有一个重要性那就是变量的作用域。在JavaScript中同样有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是定义在函数体之内,只对该函数是可见的,而对其他函数则是不可见的。,6.2.1 JavaScript中的变量,返回目录,所谓常量就是在使用过程中不变的量,它通常有数值型、字符串型、布尔型和空值四种类型。 1数值型常量 数值型常量可分为整型常量和实型常量两种。 整型常量:整型常量可以使用十六进制、八进制和十进制表示其值。 实型常量:实型常量是由整数部分加小数部分表示,如12.32、193.98。可以使用科学或标准方法表示,如5E7、4e5等。,6.2.2 JavaScript中的常量,返回目录,2布尔型常量 布尔型常量只有两种状态:True或False,它主要用来说明或代表一种状态或标志,以说明操作流程。它与+是不一样的,+可以用1或0表示其状态,而JavaScript只能用True或False表示其状态。 3字符型常量 使用单引号或双引号括起来的一个或几个字符,如a、“This is my book“、“45“、 “exit23“等。 4空值 JavaScript中有一个空值null,表示什么也没有。如试图引用没有定义的变量,则返回一个null值。,6.2.2 JavaScript中的常量,返回目录,JavaScript有两种类型的表达式。 一种是赋值表达式,它是将数据赋值给变量的一种表达式,例如:booknum=3。 另一种是运算表达式,它只运算产生一个运算结果而不进行赋值操作,例如:x+y。运算符用于将一个或几个值变成结果值,使用运算符的值称为操作数或操作数,表达式就是运算符及其操作数的组合。,6.3 JavaScript的运算符,返回目录,在JavaScript中按操作数的个数可分为双目运算符和单目运算符。其双目运算符由下列组成: 操作数1 运算符 操作数2 即由两个操作数和一个运算符组成。如50+40、“This”+“that”等。单目运算符,只需一个操作数,其运算符可在前或后。 若按进行的运算来分,可分为算术运算符、关系运算符、逻辑运算符、位运算符、连接运算符等。下面我们分别来介绍这几种运算符。,6.3 JavaScript的运算符,返回目录,JavaScript中的算术运算符有单目运算符和双目运算符。双目运算符:+(加)、(减)、*(乘)、/(除)、%(取模)。单目运算符:(取反)、+(递加1)、(递减1)。 1+(加)运算符 加运算符对应着数学运算中的加法运算,例如:1+3的运算结果为4。 加运算符用于字符串类型的操作数时,其作用是将两个字符串相连。例如:“How old are”+“you?”的运算结果为“How old are you?”。,6.3.1 算术运算符,返回目录,2(减)运算符 双目运算符中的减运算符对应着数学运算中的减法运算,例如:6-2的运算结果为4。 单目运算符中的运算是一个取负操作符,其作用是返回操作符的相反数。例如:若变量X的值为3,则X的值为3。 3*(乘)运算符 乘运算符对应着数学运算中的乘法运算,例如:2*2的运算结果为4。,6.3.1 算术运算符,返回目录,4/(除)运算符 除运算符对应着数学运算中的除法运算,但JavaScript不像C语言或Java语言那样在整数进行除法运算时将运算结果强行转化为整数,JavaScript中除法运算后的结果是一个浮点数。例如:在JavaScript中,2/5的运算结果为0.4,而在Java中,2/5运算结果为0。 5%(取模)运算符 取模运算符对应着数学运算中的取模运算,例如:10%3的运算结果为1。,6.3.1 算术运算符,返回目录,6+(递加1)运算符 +(递加1)运算符的作用是将操作数加1,操作数可以在+的右边,也可以在+的左边,但含义有所不同。例如:若j的值为1,那么+j是先 将j加1再用j的值进行运算,即j以值2参加运算;j+是先用j的值进行运算,再加1,即j以值1参加运算后加1变成2。虽然最后j的值都是2,但过程是不同的。 7 (递减1)运算符 (递减1)运算符的作用正好与+相反,但它是将操作数减1。例如:若j的值为10,那么j是先将j减1再用j的值进行运算,即j以值9参加运算;j是先用j的值进行运算,再减1,即j以值10参加运算后减1变成9。,6.3.1 算术运算符,返回目录,关系运算符的基本操作过程是,首先对它的操作数进行比较,再返回一个true或false值。JavaScript中共有6个关系运算符:(大于)、=(大于等于)、=(等于)、!=(不等于)。这6个关系运算符既可以用于数值的比较也可以用于字符串的比较,用于字符串比较时是对对应字符的ASCII码进行比较。例如:7=”7”、3=5、”booknum” =”Booknum”、”came”=”come”表达式的值为false。7!=”7”、”booknum”=”booknum”、”hello”Hello”表达式的值为true。,6.3.2 关系运算符,返回目录,逻辑运算符用于对布尔操作数进行运算。在JavaScript中有3个逻辑运算符:!(逻辑非)、 &(逻辑与)、|(逻辑或)。 1!(逻辑非) 该运算符是单目运算符,其运算结果总是与操作数的值相反。例如: !(23)的值为true。,6.3.3 逻辑运算符,返回目录,2&(逻辑与) 该运算符只有在两个操作数都为true时,结果才为true。例如: (43)&(23)|(25)的值为true。,6.3.3 逻辑运算符,返回目录,位运算符在运算时先将操作数转化为32位的二进制数,然后对每个操作数分别按位进行运算,运算后再将运算的结果按照标准JavaScript数值类型返回运算结果。JavaScript的位运算符一共有6种。 1&(位与)运算符 位与运算符对两个操作数按位进行与操作。例如:2&3的值是2。 2(位或)运算符 位或运算符对两个操作数按位进行或操作。例如:23的值是3。,6.3.4 位运算符,返回目录,3(位异或)运算符 位异或运算符对两个操作数按位进行异或操作。例如:23的值是1。 4(右移)运算符 右移运算符将左操作数向右移动右操作数提供的位数,并在左操作数的最高位补充0。例如:62的值为1。,6.3.4 位运算符,返回目录,6(填0右移)运算符 填0右移运算符和右移运算符相似,对正整数进行运算时,它们的效果完全相同。但对负整数进行操作时,右移运算会对左操作数的最高位补充该负整数的符号位1,而填0右移则在左操作数的最高位补充0。例如:31的值为2,31的值为2147483646。,6.3.4 位运算符,返回目录,赋值运算符是将右操作数的运算结果赋给左操作数。这类运算符一共有12个,大体分成4类。 1= 这是最简单的赋值运算符。它的功能就是将右操作数赋值给左操作数。例如:x=5。 2+=、=、*=、/=、%= 这类赋值运算符先将左操作数和右操作数进行相应的算术运算后再将结果赋值给左操作数。例如:假设x=9,执行x+=3后x的值为12,x=5的值为4。 其中,+=用于字符串运算时,是将左操作数和右操作数连接后赋值给左操作数。例如:x=“My name is”,执行x+=“John”后x的值是“My name is John”。,6.3.5 赋值运算符,返回目录,3&=、=、= 这类运算符的功能是先将左操作数和右操作数进行相应的位操作后把结果赋值给左操作数。例如:x=6,执行x&=2后的值为2。 4=、= 这类运算符的功能是先将左操作数和右操作数进行相应的移位操作后把结果赋值给左操作数。例如:x=6,则x=2运算后的结果为x=24。,6.3.5 赋值运算符,返回目录,6.3.6 运算符的优先级,运算符的优先顺序确定了复杂表达式解析和执行时哪个优先进行。表6-1列出了JavaScript运算符的优先顺序。,返回目录,表6-1 JavaScript运算符的优先顺序表,返回目录,JavaScript程序由语句构成,每一条语句都以一个分号作为结束,但若每一条语句处在不同的行时,分号可以省略。与通常的程序设计语言相似,JavaScript包括四种基本的程序结构:顺序程序结构、选择程序结构、循环程序结构和函数。顺序程序结构是最基本最简单的程序结构,这在高级语言里讲了许多,这里就不再赘述。我们主要介绍后三种程序结构。,6.4 程序结构,返回目录,选择程序结构也叫做分支结构,它由条件语句构成,通过判断某个条件来决定执行哪批代码。通常条件语句有两种:ifelse语句和switch语句。 1ifelse条件语句 基本格式: if(条件表达式) 语句组1 else 语句组2 功能:若条件表达式的值为true,则执行语句组1;否则执行语句组2。,6.4.1 选择程序结构,返回目录,说明: (1)ifelse语句是JavaScript中最基本的控制语句,通过它可以改变语句的执行顺序。 (2)表达式中必须使用关系语句来实现判断,它是作为一个布尔值来估算的。 (3)它将零和非零的数分别转化成false和true。 (4)else部分是可选的,换句话说就是我们可以使用如下的表达形式: if(条件表述式) 语句组1 (5)若if或else后的语句只有一行,则可以省略花括号。,6.4.1 选择程序结构,返回目录,(6)if语句的嵌套 if(条件表达式) if(条件表达式) 语句组1 else 语句组2 else if(条件表达式) 语句组3 else 语句组4 ,6.4.1 选择程序结构,返回目录,【例6.1】 编写程序段判定学生成绩,大于等于90分,等级为A;80分到90分之间等级为B,70分到80分之间等级为C,60分到70分之间等级为D,低于60分等级为F。 if (score=90) degree=“A“; else if (score=80) degree=“B“; else if (score=70) degree=“C“; else if (score=60) degree=“D“; else degree=“F“;,6.4.1 选择程序结构,返回目录,2switch语句 基本格式: switch (表达式) case 标签1: 语句组1; break; case 标签2: 语句组2; break; default: 缺省语句组; ,6.4.1 选择程序结构,返回目录,功能: 执行switch语句时,现计算表达式的值,然后将结果分别和标签1、标签2匹配,如果运算结果和标签n符合,就执行语句组n,如果和所有的标签都不符合,就执行缺省语句组。 说明: (1)switch后的表达式可以是整型表达式或字符型表达式。 (2)每个case后的标签值必须互不相同。并且各个case出现次序不影响执行结果。,6.4.1 选择程序结构,返回目录,(3)在每个语句组后面都应该有一个break语句,如果在每个语句组n后没有break语句,那么,当表达式的值和标签n符合时,执行完语句组n后会继续执行语句组n+1,直到遇到一个break语句或该switch语句结束为止。利用这个特性,可以让多个case语句共用一组执行语句。例如: case 1: case 2: case 3:语句组;break; ,6.4.1 选择程序结构,返回目录,【例6.2】 编写一个程序对自学者在不同的时间显示不同的问候或提示。 hello 谢谢光临!“; document.write(“); day=new Date(); hour=day.getHours();,6.4.1 选择程序结构,返回目录,switch(hour) case 0: case 1: case 2: case 3: case 4: case 5: mess1=“深夜了,要注意身体哦!“;break; case 6:mess1=“清晨好,现在是晨读时间!“;break; case 7:mess1=“该吃早饭了!“;break; case 8: case 9: case 10:,6.4.1 选择程序结构,返回目录,case 11:mess1=“早上好!“;break; case 12:mess1=“午饭时间!“;break; case 13:mess1=“ 午休时间!“;break; case 14: case 15: case 16: case 17:mess1=“外面天气好吗?“;break; case 18:mess1=“天黑了吗?“;break; case 19:mess1=“该吃晚饭呢!“;break; case 20: case 21: case 22:mess1=“晚自习!“;break;,6.4.1 选择程序结构,返回目录,case 23:mess1=“该休息了!“;break; default:mess1=“hello!你好!“; document.write(mess1); document.write(mess2); document.write(“); / ,6.4.1 选择程序结构,返回目录,document.write()是document对象中的write方法,其作用是相页面内写入文本或标签;day.getHours()是day对象中的一种方法,其功能是获取当前时间的小时部分。我们在以后还要详细介绍。 在这个程序中,假如用ifelse语句,那么上面的这段程序该如何编写呢?,6.4.1 选择程序结构,返回目录,循环程序结构用来反复执行某一程序组,其结构与高级语言的循环结构类似。JavaScript的循环结构主要由for 语句、while语句和dowhile语句构成。 1for循环语句 基本格式: for(初始表达式;循环条件;递增(或递减)表达式) 语句组; 功能: 实现条件循环,当循环条件成立时,执行语句组,否则跳出循环体。,6.4.2 循环程序结构,返回目录,说明:(1)初始表达式的功能是对循环计数器赋初值。 (2)循环条件是用于判别循环停止时的条件。若条件满足,则执行循环体,否则跳出循环体。 (3)递增(递减)表达式:主要定义循环计数器在每次循环时按什么方式变化。 (4)三个主要语句之间,必须使用分号分隔。 【例6.3】 设计一个页面,将“你好,JavaScript!”按从大到小的方式显示5次。 hello.htm “,6.4.2 循环程序结构,返回目录,你好!JavaScript! “); 显示效果如图6-1所示。,6.4.2 循环程序结构,返回目录,图6-1 例6.3显示结果,6.4.2 循环程序结构,返回目录,2while循环语句 基本格式: while(循环条件) 语句组; 功能: 该语句与for语句一样,当循环条件为真时,重复循环,否则退出循环。,6.4.2 循环程序结构,返回目录,说明: (1)循环条件要在while语句之前赋初值。 (2)在循环体的语句组中要有能改变循环变量的语句,否则可能会陷入死循环。例如下面的程序段就陷入了死循环。 x=1; while (x=1) alert(“hello“); 由于x在循环体中没有改变,所以循环条件始终被满足而陷入死循环。 如果用while语句改写例6.3,程序应该如何编写?,6.4.2 循环程序结构,返回目录,3dowhile语句 基本格式: do 程序组; while(循环条件) 说明: 其功能和while语句相同。它与while 语句的区别在于dowhile先执行循环体再判断循环条件,而while语句先判断循环条件再执行语句。,6.4.2 循环程序结构,返回目录,【例6.4】 通过下面两个程序比较while语句和dowhile语句的不同。 用while语句编程: compare1.htm “ 结果如下:,6.4.2 循环程序结构,返回目录,图6-2 例6.4运行结果,6.4.2 循环程序结构,返回目录,用dowhile语句编写如下: compare1.htm “ 结果如下:,6.4.2 循环程序结构,返回目录,图6-3 dowhile结果,6.4.2 循环程序结构,返回目录,break和continue语句 与C+语言相同,使用break语句使得循环从for或while中跳出转去执行for或while语句后的程序,continue语句会跳过循环内剩余的语句而进入下一次循环。 【例6.5】 写出下面程序段运行的结果。 a=new Array(5,4,3,2,1); sum=0; for(i =0,ia.length,i+) if (i=3) break; sum+=a i ; 结果为12,请读者想一想为什么?,6.4.2 循环程序结构,返回目录,【例6.6】 写出下面程序运行的结果,并与例6.5进行比较。 a=new Array(5,4,3,2,1); sum=0; for(i =0,ia.length,i+) if (i=3) continue; sum+=a i ; 结果为13。,6.4.2 循环程序结构,返回目录,5forin语句 基本格式: for(变量 in 对象) 语句组 说明: forin语句是循环语句在对象上的一种应用方式,该语句运行时变量会列举对象的每一个属性,例如: for (var i in document) window.document.write(i+); 该语句执行时,i将列举document对象的每一个属性,然后用window.document.write()方法在页面上显示出来。,6.4.2 循环程序结构,返回目录,通常在JavaScript中进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数,从而使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。函数为程序设计人员提供了一个丰常方便的能力。JavaScript函数可以在脚本中被其他语句调用,也可以被事件处理,从而实现一个函数与事件驱动相关联,这是与其他语言不一样的地方。,6.4.3 JavaScript函数,返回目录,1JavaScript函数的定义 函数都是先定义后使用的,JavaScript函数定义的一般格式如下: function 函数名(参数表) 函数体; return 表达式; 说明:(1)函数由关键字function定义,其后紧跟函数名,函数名对大小写是敏感的。 (2)参数表,是传递给函数使用或操作的值,其值可以是常量 ,变量或其他表达式。参数可以是一个或多个,也可以没有,当没有参数时,括号不可省略。,6.4.3 JavaScript函数,返回目录,(3)要从函数中返回值,必须使用return语句,return语句的基本格式: return 表达式 表达式的值为函数的返回值。例如: function factorial(n) var sum=1; for (i=1;i=n;+i) sum*=i; return (sum); 该例中,通过return返回的值sum为从1到n的整数乘积。return后的括号可以不要,即return(sum)和return sum是等价的。若没有返回值,可以省略return语句。,6.4.3 JavaScript函数,返回目录,(4)一个程序中的所有函数都是平行的,一个函数不能从属于另一个函数,即函数不能嵌套定义,但可以互相调用。 (5)函数定义通常放在HTML文档头中,也可以放在其他位置。但最好将函数定义放在文档头中,以保证函数先定义后使用。,6.4.3 JavaScript函数,返回目录,【例6.7】 定义一个函数add_two,它有两个参数x,y,函数体将对参数进行不同的处理,最后返回x+y的值。程序如下: JavaScript sample code 5) x = x - 5; else x = x + 5; if (y 10) y = y - 10; else y = y + 10; return x + y; / End ,6.4.3 JavaScript函数,返回目录,2函数的调用 JavaScript函数的调用方式和高级语言类似。一般格式如下: 函数名(实参表) 说明: (1)被调用的函数必须已经存在,即它是内置函数或用户自定义函数。若是用户自定义函数,还要求该函数必须与它的调用函数在同一个文件中。 (2)函数调用一般放在html的body部分。 (3)实参表与形参表一一对应。,6.4.3 JavaScript函数,返回目录,将下面的程序段加到例6.7后,运行结果见图6-4。 JavaScript Functions Sample “); document.write(“add_two(14, 9) = “ +add_two(14, 9) + “); document.write(“add_two(100, 200) = “ +add_two(100, 200) + “); / End 在这一段程序中,函数add_two被调用了三次,分别使用了三组不同的实参,产生三个不同的结果。,6.4.3 JavaScript函数,返回目录,图6-4 函数add_two调用结果,6.4.3 JavaScript函数,返回目录,这里要注意实参与形参的区别,在没有进行函数调用前形参只是一种“形式”,一种代表,不具有确定的值。形参只有在进行函数调用时才有从实参传来的确定的值,实参从一开始就带有确定的值,看下面的例子。,6.4.3 JavaScript函数,返回目录,var counter; counter = 5; function add2(input) input = input + 2; document.write(“input = “ + input + “); return; add2(counter); document.write(“counter = “ + counter + “); 在这段程序中,counter是实参,input是形参,最后运行结果为: input=7 counter=5,6.4.3 JavaScript函数,返回目录,3全局变量和局部变量 全局变量在程序全程起作用,局部变量只在定义的函数内起作用,也就是说它们的辖域不同。全局变量和局部变量声明格式相同,都是使用var进行声明。但局部变量的声明在函数体内部进行,而且一跳出函数体,它便失去意义,全局变量的声明在函数外进行。 局部变量可以和全局变量同名。当局部变量与全局变量同名时,函数内的变量名引用指定的是该函数内的局部变量,而不是全局变量。而局部变量定义以外的变量引用指定的是全局变量。,6.4.3 JavaScript函数,返回目录,【例6.8】 全局变量和局部变量。 Global and Local Variables “); ,6.4.3 JavaScript函数,返回目录, 其结果是0到9十个数的平方值。变量x是displaySquared()函数中的局部变量,同时又是文档主体中脚本的全局变量。,6.4.3 JavaScript函数,返回目录,JavaScript中内置了一些函数方便用户使用,下面我们来做分别介绍。 1eval函数 格式: eval (字符串) 功能: 执行字符串,如果该字符串是一个表达式,那么这个函数将对这个表达式进行运算,如果字符串代表一条或多条语句,那么这个函数将执行这些语句。例如:,6.5 JavaScript中的主要函数,返回目录,var x=2; var y; var s=“y=x+1“; eval(s); 在这段程序中,eval对s这个表达式字符串进行运算,其结果为y=3。又如: var x=2; var s=“alert(x)“; eval(s); 在该段中,s代表了语句alert(x),eval函数执行这个语句,结果为2。,6.5 JavaScript中的主要函数,返回目录,2parseInt和parseFloat函数 格式: parseInt(字符串) parseFloat(字符串) 功能: parseInt和parseFloat函数分别将字符串首转化为整数和浮点数。若在字符串首没有数字,Windows平台返回0,其他平台返回NaN(非数字)。,6.5 JavaScript中的主要函数,返回目录,3isNaN函数 格式: isNaN(表达式) 功能:判断表达式是否是一个数值类型的数据。若是返回true,此函数只工作于UNIX平台上。 4Number和String函数 格式: Number(对象) String(对象) 功能:Number函数将对象转化为数值,String函数将对象转化为字符串。当对象不能转化为数值时,Number 函数返回NaN。关于对象我们将在下节中进行介绍。,6.5 JavaScript中的主要函数,返回目录,5escape和unescape函数 格式: escape(字符串) unescape(字符串) 功能: escape将一个字符串转化为URL编码形式。所有的非字母数字的字符都变成“%”字符,其ASCII值变成十六进制。例如:escape(“How are you“)的结果为:How%20are%20you。 unescape函数将一个URL编码的字符串转化成普通文本。例如: unescape(“How %20are%20you“)的执行结果为:How are you。,6.5 JavaScript中的主要函数,返回目录,6.6.1 对象基础 JavaScript是一种基于对象的脚本语言。对象是一种特殊类型的数据,由属性和方法组成。属性指一些与对象有关的数据项目,如我们将学生看成一个对象,则姓名、性别、年龄、系别、班级等与学生相关的数据项目就是它的属性。方法指对象所提供的一些沟通管道,其他人可以通过这些管道来通知对象执行某些任务,例如:我们可以通过“上课”这个方法来要求学生进入教室,做好上课准备。 对象与基本数据类型不同,每一个对象可以拥有属于它自己的成员,这些成员按性质的不同又分为数据成员和函数成员,数据成员用来存放与对象相关的数据,而函数成员则是可供调用的函数。,6.6 对象,返回目录,对于不同的对象,同样的属性可能意味着不同的意思。例如length属性,在字符串和数组两类对象中都有这个属性。string.length返回的是字符串的长度,而array.length返回的是数组的元素个数。两个的属性都叫length,但它们的意义随对象的不同而略有差别。同理,同样的方法因对象的不同也会表现不同。 (1)在JavaScript中,可以使用以下几种对象: 1)由浏览器根据Web页面的内容自动提供的对象。 2)JavaScript的内置对象,这是我们比较常用的。 3)用户自己定义的对象。,6.6.1 对象基础,返回目录,(2)对象属性的引用: 对象名.属性名 (3)对象方法的引用: 对象名.方法名,6.6.1 对象基础,返回目录,1String对象 String对象可用于处理或格式化文本字符串以及确定和定位字符串中的子字符串。 String对象引用的基本格式: String.属性名或方法名,6.6.2 常用对象,返回目录,(1)String对象的创建。String对象的创建有两种方法。 第一种是使用new进行创建: newString=new String(“stringLiteral“) 第二种是使用字符串文字直接创建: newString=“stringLiteral“ 其中,newString为要赋值给String对象的变量名。第二种方法虽然可以读取属性并对基元字符串调用方法,但不能创建新的属性或为其添加新的方法。 (2)String对象的属性。String对象只有一个属性length,表明字符串的字符个数,包括所有的符号。,6.6.2 常用对象,返回目录,(3)String对象的方法。String对象的方法主要用于有关字符串在Web页面中的显示、字体大小、字体颜色、字符的搜索以及字符大小写转换。常用的主要方法有: anchor():用来把字符串转换到HTML锚点标记内。 big():把字符串中的文本变成大字体。 blink():把字符串中的文本变成闪烁字体。 bold():字体以粗体方式显示。 charAt():寻找字符串中指定位置的一个字符。 fixed():把字符串中的文本变成固定间距字体。 fontcolor():设置字体颜色。 fontsize():设置字体大小。,6.6.2 常用对象,返回目录,fontcolor():变字符串中文本的颜色。 fontsize():把字符串中的文本变成指定大小。 fromCharCode():ASCII码转换为字符。 indexOf():从指定位置开始搜索指定字符第一次出现的位置。 italics():把字符串中的文本变成斜字体。 lastlndexOf():与indexof相似,但是向后搜索最后一个出现的字符。 link():用来把字符串转换到HTML链接标记中。 small():把字符串中的文本变成小字体。 split():返回一个字符串拆分为若干子字符串时所产生的字符串数组。 slice():返回字符串中的片断。,6.6.2 常用对象,返回目录,strike():把字符串中的文本变成划掉字体。 sub():把字符串中的文本变成下标字体。 substr():返回字符串里指定位置间的一部分字符串。 sup():把字符串中的文本变成上标字体。 toLowerCase():把字符串中的文本变成小写。 toUpperCase():把字符串中的文本变成大写。 substring(start,end):返回从start开始到end的全部字符。 toLowerCase():转换为小写。 toUpperCase():转换为大写。 fromCharCode():ASCII码转换为字符。,6.6.2 常用对象,返回目录,【例6.9】 下面的例子使用了上述的一些方法。 string var Mystr, Myword,Mypos, BR; Mystr = “This is an example of String.“; BR = “;,6.6.2 常用对象,返回目录,document.write( “Mystr=“ +“ + Mystr + “ +BR); document.write(“字符串Mystr的长度是“ + Mystr.length + BR); document.write(“7位左子串是“ + Mystr.slice(0,7) +BR); document.write(“8位右子串是“ + Mystr.slice(29-8) +BR); document.write(“从第5位开始的12个字符是“ +Mystr.substr(5-1,12)+BR); Myword = “ hello “; document.write( Myword); document.write(“这个字符串的长度是“ + Myword.length +BR); document.write(“在Javascript中没有截去前导空格或后部空格的方法!“ +BR); Myword = “String“; document.write (“The Myword =“ + “+Myword+“); Mypos = Mystr.indexOf(Myword);,6.6.2 常用对象,返回目录,document.write (BR); if (Mypos=-1) document.write(Myword +“不是Mystr子串“) else document.write(Myword + “是Mystr的子串,第一个开始于“ + Mypos); document.write (BR); Myword = Myword.toLowerCase(); Mypos =Mystr.indexOf(Myword); if (Mypos=-1) document.write(Myword + “不是Mystr的子串“+BR) else document.write(Myword + “是Mystr的子串,第一个开始位置是“ + Mypos); ,6.6.2 常用对象,返回目录,说明: (1)取子串可以不分左中右,有一个统一的方法substr(),其功能是返回一个从指定位置开始的指定长度的子字符串。 格式: stringvar.substring(start ,end ) 如果length为0或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到最后。,6.6.2 常用对象
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学WEB数据库技术应用教程-王承君-PPT文稿资料课件PPT
链接地址:https://www.renrendoc.com/p-21836379.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!