《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5普通高等教育“十一五”国家级规划教材Web程序设计《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5第1章Web基础第2章Web服务器的架设和管理第3章HTML和XML基础第4章网页设计与制作第5章客户端开发第6章服务端开发目录《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5第5章客户端开发浏览器与客户端脚本程序JavaScript程序设计基础事件驱动及事件处理对象及其操作常用内部对象及函数JavaScript浏览器对象模型BOMHTML文档对象模型DOMWeb交互使用AJAX技术综合举例《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5Web浏览器与客户端脚本程序Web浏览器HTML规范文档阅读器客户端脚本程序的解释机JavaScript,Jscript,VBScript等禁止浏览器执行脚本程序在浏览器的“Internet选项”对话框中,选择“安全”选项卡,选择“Internet”,单击“自定义级别”,在安全设置列表中,可以对“活动脚本”中选则“禁用”Web浏览器产品Netscape,IE,Maxthon,Firefox《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5脚本语言规范与主要的客户端脚本语言浏览器脚本语言JavaScript的出现,网景公司(Netscape)发布,1995年末欧洲计算机制造协会(EuropeanComputerManufacturingAssociation,ECMA)发布了名为ECMAScriptEdition1的脚本语言规范,1997年6月语法、类型、语句、关键字、保留字、运算符、对象等1998年,微软在IE4.0中发布了JScript3.0,宣称成为第一个遵循ECMA规范来实现Netscape发布其符合ECMA规范的Javascript1.31999年12月,ECMAScript第三版发布,该版本成为脚本程序语言所遵循的标准JavaScript的组成部分ECMAScript规范文档对象模型DOMHTML文档对象模型XML文档对象模型浏览器对象模型BOM《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5在HTML中编写脚本程序脚本程序标记scriptlanguage=runat=type=语句部分/script脚本程序的位置HTML文档头部HTML文档体《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5举例-1检测浏览器中的JavaScript脚本程序版本检测浏览器中的JavaScript脚本程序版本htmlheadtitleJavaScript检测/title/headbodyh1JavaScript检测/h1hr!--JavaScript支持性检测--scripttype=text/javascriptdocument.write(浏览器支持JavaScript!brbr);/script!--JavaScript版本检测--scriptlanguage=JavaScript1.0document.write(浏览器支持JavaScript1.0br);/scriptscriptlanguage=JavaScript1.1document.write(浏览器支持JavaScript1.1br);/script…scriptlanguage=JavaScript1.5document.write(浏览器支持JavaScript1.5br);/script/body/html《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5运行结果不同Web浏览器打开的显示结果《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5举例-2JavaScript函数htmltitle>FunctioninJavaScript/titleheadscriptlanguage=Javascriptfunctionfact(n){if(n==0)return1;elsereturnn*fact(n-1);}/script/headbodypfact(5)=scriptlanguage=JavaScriptdocument.write(fact(5));/script/body/html《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5JavaScript程序设计基础JavaScript基本符号数据和数据类型常量和变量表达式和运算符基本语句顺序语句分支语句重复语句函数《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5JavaScript基本符号基本字符字母(a、b、…、z,A、B、…、Z)数字(0、1、…、9)特殊符号(+、-、*、/、、=、等)关键字关键字又称为保留字,它是由字母构成的具有固定含义的单词如:var代表变量说明,if表示条件语句等标识符表示常量、变量和函数等名称的符号。标准标识符和用户自定义标识符标识符的命名用户自定义标识符必须以字母开始,由任意的字母、数字和“_”组成命名规范注释单行注释,以//开始多行注释,用/*…*/序言性注释和描述性注释《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5数据和数据类型数据类型整数实数字符(串)型(用双引号“或单引号‘括起来的字符)布尔型(True和False)弱类型变量不必事先声明其数据类型,可以在使用或赋值时确定其数据类型。一个变量的类型在使用时还可以被改变例如varx=hello;x=100《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5常量和常量定义常量常量是指在程序执行过程中,其值不发生变化的量。常量的分类字面常量符号常量常量命名常量命名有两方面的好处,恰当的常量名称可以增加程序的可读性;其次,使用常量名可以便于程序的维护。常量数据类型整数常量实数常量字符常量字符,如:'a'字符串,如:“hello”、“5123”、“x+y”,“a”《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5变量和变量说明常量所谓“变量”是指在程序执行过程中,其值发生变化的量。每一个变量都有一个变量名,对应一个特定的内存空间。变量说明变量命名的一般形式是:var变量名表;varname=“Zhangsan”;varx,y;不需要指定数据类型变量的作用域局部变量全局变量《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5表达式和运算符表达式表达式是指将常量、变量、函数、运算符和括号连接而成的式子。表达式的分类根据运算结果的不同,表达式可分为算术表达式(结果为整数或实数)字符表达式(结果为字符或字符串)逻辑表达式(结果为true或false)《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5运算符-1算术运算符双目运算符包括:+(加)、-(减)、*(乘)、/(除)、%(取模)、|(按位或)、&(按位与)、(左移)、(右移)等。单目运算符有:-(取反)、~(取补)、++(递加1)、--(递减1)等关系运算符(小于)、=(小于等于)、(大于)、=(大于等于)、=(等于)和!=(不等于)运算的运算结果为布尔值,true,false《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5运算符-2逻辑运算符&(逻辑与)a&b,当a==true且b==true,a&b为true,否认为false|(逻辑或)a&b,当a==true或b==true,a&b为true,否认为false!(取反,逻辑非)若a==true,则!a为false,反之,若a==false,则!a为true^(逻辑异或)当a和b不同时,a^b为true,否认为false字符串连接运算符+,将两个或多个字符串连结为一个字符串三目操作符?:,操作数?表达式1:表达式2若操作数的结果为true,则表述式的结果为表达式1,否则为表达式2例如:max=(ab)?a:b;《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5基本语句顺序语句语句块{}分支语句if语句if…else语句switch语句重复语句while语句for语句《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5顺序语句语句的执行顺序过程式程序设计程序从上到下,顺序执行面向对象的程序设计事件驱动消息映射(map)语句块将这多个语句用一对花括号“{”和“}”括起来,语句之间用分号分开,称为语句块逻辑上的一个语句《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5分支结构(条件语句)-1if语句一般形式if(条件表达式)语句;逻辑功能举例if(a=b){max=a;min=b;}《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5分支结构(条件语句)-2if…else语句一般形式if(条件表达式)语句1;Else语句2;逻辑功能举例if(a=b){max=a;min=b;}else{max=b;min=a;}《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5分支结构(条件语句)-3switch语句一般形式switch(数值或字符串表达式){case表达式1语句1;[break;]case表达式2语句2;[break;]……case表达式n语句n;[break;][default:语句n+1;]}逻辑功能《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5分支结构举例输入两个数字,一个字符。如果字符为‘+‘,则做加法运算,如果字符为‘-‘,则做减法运算,如果字符为‘*‘,则做乘法运算,如果字符为‘/‘,则做除法运算。最后输出计算结果《Web技术导论》(第二版),北京:清华大学出版社,2009.04,ISBN:978-7-302-19371-5程序1htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=gb2312/headbodys