全书配套课件:Javascript程序设计教程.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《全书配套课件:Javascript程序设计教程.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全书 配套 课件 Javascript 程序设计 教程
- 资源描述:
-
1、第1章 JavaScript概述 第1章JavaScript概述 JavaScript是什么1.1 JavaScript的发展历史1.2 JavaScript与Java1.3 JavaScript可以做什么1.4 JavaScript不能做什么1.5 JavaScript与Web标准1.6 JavaScript开发工具1.7 Netscape发明了JavaScript语言,它提供了控制浏览器和在客户端与用户交互的方法,弥补了简单HTML页面的不足。自从诞生之日起,JavaScript经历了多次的演化,我们将在本章中介绍JavaScript的演化过程。在本章中,我们还将讨论JavaScript是
2、什么、它可以做什么、它不能做什么、它与Web标准之间的关系,以及JavaScript的相关开发工具。1.1 JavaScript1.1 JavaScript是什么是什么 vaScript语言是一门解释型的脚本语言,在Web开发中通常应用它来增强网页与应用程序间的交互。Netscape公司首先在Netscape Navigator浏览器中实现了JavaScript,随后其他的浏览器也相继推出了各自版本的JavaScript,并且与标准化组织ECMA一起制定了ECMAScript语言规范。目前,ECMAScript第3版是ECMAScript的最新版本,也是JavaScript的工业标准。Java
3、Script通常内嵌在HTML页面中运行,与页面同时被浏览器加载和运行,在HTML页面中使用标签引入JavaScript脚本。HTML Sample Page alert(你好,JavaScript!);你好,JavaScript!图图1-1 简单简单JavaScript应用示例应用示例 除了直接在标签内编写JavaScript脚本之外,还可以使用其src属性导入外部的JavaScript脚本文件,将以上示例中的标签部分修改如下:其中hello.js是外部的JavaScript脚本,其内容为:alert(你好,JavaScript!);页面运行的结果与图1-1中相同。这里需要特别指出的是:对于
4、大多数HTML标签来说,如果标签内部为空,例如:可以简写为:在XML文件的编写中同样也可以采取类似的简写方式,但对于标签来说,这种简写方式是不允许的。以 下 的 代 码 是 错 误 的,相 应 的JavaScript脚本将不会被正确的导入:1.2 JavaScript的发展历史 1.2.1 Netscape Navigator 网景公司(Netscape)在其出品的浏览器软件Netscape Navigator 2.0中发布了JavaScript的1.0版本。推出JavaScript 1.0的主要目的是为了实现在客户端验证用户输入的信息,从而减少不必要的等待时间。1.2.2 Microsoft
5、 Internet Explorer 微软分别在IE 3.0的早期和后期版本中实现了JScript 1.0和JScript 2.0,相当于Netscape的JavaScript 1.0和JavaScript 1.1;在随后的IE 4.0中还实现了JScript 3.0,相当于Netscape的JavaScript 1.3。1.2.3 Mozilla Firefox Firefox是基于Gecko引擎的浏览器,其内部使用的是名为Spidermonkey的JavaScript解释引擎,它是基于C语言的JavaScript实现,也是目前性能最好的JavaScript引擎。1.2.4 ECMAScri
6、pt标准标准 ECMAScript从诞生至今共经历了3个版本。其中,ECMAScript第1版对JavaScript 1.1的基本特性进行了标准化,并且增加了一些新特性,在ECMAScript第1版中没有对switch语句和正则表达式进行标准化。ECMAScript第2版与第1版没有功能或者特性上的区别,只是增加了说明。与ECMA第1版和第2版相对应的浏览器实现是Netscape 4.x和IE 4.0。ECMAScript目前的最新版本是第3版,在这个版本中增加了switch语句、异常处理和正则表达式等特性,相应的浏览器实现版本是Mozilla、Netscape 6和IE 5.5+。ECMAS
7、cript的第4版正在开发过程中,它对应的将是未来的JavaScript 2.0。1.3 JavaScript1.3 JavaScript与与JavaJava JavaScript的名称给人们造成了很大的误解,很多初学者往往认为它与Java语言存在一些联系。实际上,JavaScript与Java除了名称类似之外,没有任何共同点。JavaScript是一门脚本语言,通过浏览器的脚本引擎解释执行;Java语言则是继C、C+之后的又一种主流开发语言,Java代码将首先编译为字节码(.class文件),然后在Java虚拟机上将字节码编译为二进制代码运行。JavaScript语言绝大多数的应用在浏览器端
8、,而Java语言的应用则相当广泛,从企业级服务器应用到移动设备都可以使用Java语言进行开发。在浏览器端,Java可以用于创建Java小应用程序(Applet)。它可以实现用传统HTML很难实现的动画效果,Applet在大多数情况下是独立运行的,但它允许通过外部脚本进行控制,本书的第12章将介绍如何使用JavaScript脚本操纵Applet。实际上,JavaScript与另一门编程语言C+的关系可能更加密切,浏览器的脚本解释引擎通常是使用C+语言实现的。网页中编写的JavaScript代码最终将通过脚本解释引擎转化为C+的指令执行。1.4 JavaScript1.4 JavaScript可以
9、做什么可以做什么 本书仅讨论浏览器中的JavaScript,它可以完成以下的任务:(1)操纵浏览器对象,例如窗口的打开和关闭,浏览器类型和版本的检测等;(2)操纵DOM树,这是JavaScript运用最为广泛的领域,JavaScript可以实现对网页DOM元素的操作,支持DOM事件处理以及对网页的样式进行编程控制;(3)通过XMLHttpRequest对象与服务器端进行异步通信,这是Ajax技术(Asynchronous JavaScript and XML)的核心;(4)XML编程,JavaScript可以借助于ActiveX控件或者浏览器内置对象完成对XML DOM解析、XPath查询和X
10、SLT转换等工作;(5)与浏览器插件的交互,常见的插件类型包括ActiveX控件、Flash动画和Java Applet。在后续章节中,本书将逐步地向读者介绍如何使用JavaScript完成以上这些任务。1.5 JavaScriptJavaScript不能做什么不能做什么 安全沙箱对JavaScript实现功能的限制包括:(1)不能访问本网站所在域外的脚本和资源;(2)不能操作客户端本地的文件(cookie除外);(3)只能操纵由它自己打开的浏览器窗口;(4)不能将浏览器窗口的尺寸设置得过小或者将窗口移出屏幕可视范围。1.6 JavaScript与Web标准 Web标准不是某一个标准,而是一系
11、列标准的 集 合。网 页 主 要 由 3 部 分 组 成:结 构(Structure)、表现(Presentation)和行为(Behavior)。与之对应的标准也分为3个方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型,如W3C DOM标准、ECMAScript等。JavaScript属于行为的范畴,它遵循了ECMAScript标准。图1-5 定制任务和宏 1.7 JavaScript1.7 JavaScript开发工具开发工具 1.7.1 集成开发环境(IDE)图1-2 Aptana对Ajax开发框架的支持 图1-3 代码提示功能 图1-
12、4 Ajax开发框架帮助文档 1.7.2 调试调试JavaScript 1IE中调试JavaScript 图1-6 启动脚本编辑器 图1-7 启动脚本编辑器 图1-8 IE中调试JavaScript 图1-10 选择脚本调试器类型 图1-9 IE中调试JavaScript2Firefox中调试中调试JavaScript 图1-11 Firebug脚本调试器 小 结 本章对JavaScript的基本概念、发展历史进行了简要介绍,针对JavaScript初学者容易混淆的问题,如JavaScript与Java的关系、JavaScript能做什么、不能做什么等问题进行了解释。Web标准是今后Web开发
13、领域的发展趋势,希望读者从学习JavaScript开始就能够形成基于标准进行编程的意识。本章在最后一小节中对JavaScript的相关开发和调试工具进行了介绍,这些知识是实际应用的一些基本储备,希望读者掌握。第2章 JavaScript基础 JavaScript语法基础语法基础2.1 JavaScript内置对象内置对象2.2 JavaScript语言是一门解释型的脚本语言,其优点之一是比较容易学习和掌握,但是千万不要因此而小看了JavaScript能力,它能够完成许多相当复杂的编程任务。目前,ECMAScript第3版是ECMAScript的最新版本,也是JavaScript的工业标准,本章
14、将基于该标准对JavaScript的基本语法和内置对象特性进行讲解。2.1 JavaScript2.1 JavaScript语法基础语法基础 2.1.1 语句 同许多编程语言一样,语句是组成JavaScript程序的基本单元,每一条JavaScript语句由若干表达式组织在一起,完成一个任务。和Java、C语言类似,JavaScript使用分号“;”表示一条语句的结束;而与Java、C语言不同的是,用分号结束一条语句并不是强制性的要求。例如下面的写法:var a=1;/以分号结尾的JavaScript语句 var b=2/没有分号结尾的JavaScript语句 JavaScript解释器在语法
15、检查方面相对比较宽松,但是在这里我们还是建议开发人员编写JavaScript代码时要尽量保持比较严谨的书写风格,最好使用分号结束语句,这样做有以下几点好处:(1)代码便于阅读,不会导致歧义;(2)在使用一些JavaScript代码压缩和代码混淆工具处理代码时,不会发生错误;(3)保证代码在各种浏览器中均能正确执行,因为某些浏览器的JavaScript解释器要求语句必须以分号作为结束符,否则不能执行。一组大括号“”内的JavaScript语句称为语句块,一个语句块内的语句可以被当作一条语句来处理。与C语言不同,在JavaScript语言中一般的语句块并不代表新的范围。例如下面的JavaScrip
16、t语句块:var v1=20;var v2=40;其中,变量v1和v2在大括号之外同样是有意义的,而在C语言中,类似的变量定义只在语句块的内部有效。此外,在JavaScript语言中函数定义内部声明的变量只在其内部有效,例如:function test()var v1=20;var v2=40;如果在test()函数之外访问变量v1或者v2,会返回undefined错误。2.1.2 注释注释/*多行注释示例 /*嵌套的注释 */多行注释示例*/注释第1行/注释第2行2.1.3 直接量 在 JavaScript中,我们用直接量来描述数值。JavaScript支持的直接量分为以下几种:10/整数
17、0.6/浮点数 test/字符串 test/字符串 true/false/布尔值/abc/gi/正则表达式 null/空对象 x:2.3,y:3.5/对象 1,2,.,n/数组2.1.4 变量变量 JavaScript中的变量是使用var关键字加变量名定义的,例如:var a=1;需要说明的是,变量名应该遵守两条简单的规则:(1)第一个字符必须是字母(az,AZ)、下划线(_)或美元符号($);(2)其他部分可以是下划线、美元符号、任意字母或数字字符(09)。2.1.5 运算符运算符 1数学运算符 JavaScript提供的数学运算符有:+、-、*、/、%、+、-。所谓一目运算符是指对一 个
18、运 算 量 进 行 运 算 的 运 算 符。在JavaScript语言中有4个一目运算符:+、-、+和-。其中一目取正“+”和一目取负“-”只影响表达式的运算结果。所谓的二目运算符,是指对两个运算量进行运算的运算符,JavaScript中的二目数学运算符包括:+、-、*、/、%。2关系运算符 JavaScript中的关系运算符是用于测试两个变量之间关系的运算符。“”、“=”运算符执行的是两个数的比较运算,比较方式与数学中的比较运算相同,这4个运算符称为比较运算符。JavaScript关系运算符中还有两种特殊的运算符:in和instanceof。3等性运算符 判断两个变量是否相等是程序设计中非常
19、重要的运算。JavaScript中提供了两套运算符处理这个问题,等号和非等号处理原始值,全等号和非全等号处理对象。4逻辑运算符 逻辑运算符的运算结果只有真(true)和假(false)两种。JavaScript支持以下3种逻辑运算符。var a=true,b=false;/逻辑与 a&a/true a&b/false b&a/false b&b/false/逻辑或 a|a/true a|b/true b|a/true b|b/false /逻辑非!a/false!b/true5位运算符 JavaScript完全支持按位(bit)运算。位运算符包括:与、或、非、异或、左移、右移运算符。有符号整数
20、和无符号整数的区别在于:有符号整数使用低31位表示整数值,最高位表示整数的符号,0表示正数,1表示负数,数值的范围是从231到2311;而无符号整数则使用所有32位数表示整数值,其数值范围是从0到2321。例如25的二进制为11001,它在内存中的存储结构如图2-1所示。图2-1 整数的存储结构 负数也存储为二进制形式,不过采用的是二进制补码。图2-2 计算补码步骤(1)与运算)与运算 与运算符用“&”表示。表2-1与运算规则操作数操作数01000101(2)或运算)或运算 或运算用“|”表示 表2-2或运算规则操作数操作数01001111(3)异或运算)异或运算 异或运算用“”表示 表2-3
21、异或运算规则操作数操作数01001110(4)非运算 非运算用“”表示(5)左移运算 左移运算用“”表示(7)无符号的右移 无符号的右移用“”表示 6赋值运算符 JavaScript中赋值运算符是“=”符号,它将等号右边的值赋给等号左边的变量。表2-4带操作的赋值运算符运 算 符示 例等效表达式+=x+=yx=x+y-=x-=yx=x-y*=x*=yx=x*y/=x/=yx=x/y%=x%=yx=x%y=x=yx=x=x=yx=x y=x=yx=x y&=x&=yx=x&y|=x|=yx=x|y=x=yx=x y7其他运算符(1)条件运算符(?:)(2)typeof运算符(3)new运算符(4
22、)delete运算符(5)void运算符(6)函数调用运算符2.1.6 程序流程控制 1选择结构(1)单一选择结构 代码结构如下:if(condition)statement(2)二路选择结构)二路选择结构 代码结构如下:if(condition)statement1 else statement2(3)内联三元运算符)内联三元运算符 代码结构如下:(condition)?statement1:statement2;2循环结构(1)while循环 while循环是一种常见的循环结构,其代码结构如下:while(condition)statement(2)do while循环循环 do whil
23、e循环和while循环类似,区别在于计算condition表达式的位置。在do while循环中,每次循环结束时会计算condition表达式的值,如果该表达式的值为true,则继续循环,否则结束循环。do while循环的代码结构如下所示:do statement while(condition)(3)for循环循环 for循环常用于遍历数组,对数组的每个成员执行相同或者类似的操作,其代码结构如下所示:for(initialize;condition;increment)statement(4)for in循环循环 JavaScript还提供了一种for in的循环机制来遍历对象的所有属性,
24、其代码结构如下:for(prop in object).3异常处理结构 前面讨论的选择结构和循环结构都是通过判断条件表达式的值来确定程序流向的,异常处理结构则不同,它是根据程序执行过程中是否发生异常来决定程序流向的。其代码结构如下:try statement catch(exception)catchStatement finnaly finnalyStatement 2.2 JavaScript内置对象内置对象 作为一门编程语言,JavaScript提供了一些内置的对象和函数。内置对象提供编程的几种最常用的功能。ECMAScript定义的JavaScript内置对象主要包括:(1)全局(Gl
25、obal)对象(2)对象(Object)对象(3)字符串(String)对象(4)正则表达式(RegExp)对象(5)数组(Array)对象(6)数学(Math)对象(7)日期(Date)对象(8)数字(Number)对象(9)函数(Function)对象(10)布尔值(Boolean)对象(11)错误(Error)对象2.2.1 全局(全局(Global)对象)对象 表2-5Global对象的属性和方法属性/方法说 明InfinityNumber.POSITIVE_INFINITY的初始值NaN特殊值,表示非数字undefined表示未定义的值,如果声明了一个变量但还没有初始化,该变量的值就
展开阅读全文