JavaScript学习宝典(第2版)

分类: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: (美)邵(Thau,D.)著;李丽,李松峰译
出 版 社: 清华大学出版社
出版时间: 2008-9-1字数: 693000版次: 1页数: 464印刷时间: 2008/09/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302181132包装: 平装编辑推荐
通过JavaScript,可以方便快捷地为网页添加交互性、动画效果及其他特技。不过,可不是把本书提供的脚本剪贴到你的HTML中就万事大吉了,否则,当剪贴的脚本无法运行时你一定会大失所望。作者Thau以实例分析为出发点,带你循序渐进地理解每一个脚本,耐心地解释实现期望效果的过程。
由于Ajax对于今天的JavaScript而言,已经成为不可不谈的主题,因此本书第2版也进行了彻底更新,增加了介绍Ajax的新章节,以便读者及时地掌握这一重要技术,创建出真正意义上的动态网页。本书第2版还修订了附录的内容,同时全面补充了能体现当前Web开发环境的新例子。通过本书,你能够学到:
使用框架、表单、cookie和警告框
通过事件响应用户操作
实现图像交替和翻转
编写自定义函数
存储用户的选项并创建购物车程序
使用动态HTML把网页转换为多媒体应用程序
如果你的页面需要推陈出新,本书可以帮你把平淡无奇的网站打扮得光彩照人。
内容简介
本书是Web开发人员学习JavaScript技术的优秀教程,得到Web开发社区的广泛好评,同时还得到Ajax先驱Jesse James Garrett的高度评价和推荐!本书作者以实例分析为出发点,带领读者循序渐进地理解每一个脚本,并耐心解释实现期望效果的过程,可帮助读者全面掌握JavaScript技术,把自己平淡无奇的网站打扮得光彩照人。本书的配套网站提供了书中的所有示例代码、图像、习题答案、用于复杂应用程序的脚本库,以及各种实用软件工具,大大提高了读者的学习效率。
作者简介
Thau,从1993年起致力于Internet应用程序的开发,创建了Internet上第一个基于Web的社区bianca.com。他是Wired Digital公司的软件工程总监和高级科学家,曾向数百名艺术家、工程师传授程序设计语言知识。目前,他正致力于创建供人们研究生物多样性的数据共享平台,同时在加州大学 Davis分校攻读计算机科学方向的博士学位。
目录
第1章JavaScript入门
1.1JavaScript适合你吗
1.2本书适合你吗
1.3本书的目标
1.4JavaScript能做什么
1.5JavaScript的替代技术
1.5.1CGl脚本
1.5.2VBScript
1.5.3 Java
1.5.4 Flash
1.6JavaScript的局限性
1.6.1JavaScript无法与服务器对话
1.6.2JavaScript不能创建图形
1.6.3JavaScript在不同的浏览器中存在差异
1.7新手上路
1.8把JavaScript脚本放在网页中的什么地方
1.9处理老式浏览器
1.10第一个JavaScript程序
1.11 小结
1.12习题
第2章使用变量和内置函数自动更新网页
2.1存储信息的变量
2.1.1变量的语法
2.1.2变量的命名
2.1.3通过变量做算术
2.2显示结果
2.3字符串
2.4再谈函数
2.4.1alert0
2.4.2图2-9的逐行分析
2.4.3prompt0
2.5参数
2.6向网页中写入日期
2.6.1内置的Date函数
2.6.2 日期和时间方法
2.6.3写入日期和时间的代码
2.6.4图2.12的逐行分析
2.7欧洲航天局如何向主页中写入日期
2.8小结
2.9习题
第3章满足浏览器的需要
3.1浏览器检测实例
3.2检测浏览器的方法
3.2.1快捷但粗糙的浏览器检测
3.2.2更精确的浏览器检测
3.3把访客重定向到其他网页
3.4if-then语句
3.4.1布尔表达式
3.4.2嵌套
3.4.3if-then-else语句
3.4.4 if-then.else.if语句
3.4.5花括号应该何时用在何处
3.5OR和AND操作符
3.5.10R操作符
3.5.2AND操作符
3.6综合起来
3.7有关布尔表达式的一些细节
3.8Netscape网站如何提供针对浏览器的内容
3.9小结
3.10习题
第4章制作翻转图
4.1一个真实的翻转图
4.2触发事件
4.2.1事件类型
4.2.2JavaScnpt中的引号
4.2.3单击链接而不离开当前页面
4.2.4更多有意思的操作
4.3替换图像
4.4操纵多幅图像
4.5句点的作用是什么
4.5.1document对象
4.5.2对象的属性
4.5.3实现翻转效果
4.5.4图像预载
4.6Tin House网站翻转图的工作原理
4.7小结
4.8习题
第5章打开和操纵窗口
5.1 打开窗口查看补充信息的真实例子
5.2操纵作为对象的窗口
5.3打开窗口
5.3.1操纵新窗口的外观
5.3.2某些浏览器和计算机会以不同方式打开窗口
5.4关闭窗口
5.5正确地命名:窗口如何识别自己和其他窗口
5.6隐藏或显示窗口
5.7窗口的属性
5.7.1status属性
5.7.2Opener属性其他window对象的方法
5.8其他window对象的方法
5.8.1缩放窗口
5.8.2移动窗口
5.9小结
5.10习题
第6章编写自己的JavaScnpt函数
6.1函数简化操作
6.1.1JavaScript函数的基本结构
6.1.2函数的命名
6.1.3圆括号和花括号
6.1.4一个简单的函数
6.2编写灵活的函数
6.2.1使用参数
6.2.2图6.4的逐行分析
6.2.3使用多个参数
6.3从函数中取得信息
6.4处理Y2K问题
6.5适当地定义变量
6.6小结
6.7习题
第7章通过表单提供和接收信息
7.1表单的应用实例
7.2表单基础
7.2.1文本输入框
7.2.2按钮、复选框和单选按钮
7.2.3选择元素
7.2.4文本区
7.2.5表单元素小结
7.3表单和JavaScript
7.3.1命名表单元素
7.3.2命名单选按钮
7.3.3命名选项
7.4读取和设置表单元素
7.4.1从文本框中读取信息
7.4.2设置文本框的值
7.4.3文本区
7.4.4复选框
7.4.5单选按钮
7.4.6下拉菜单和滚动列表
7.5通过表单元素处理事件
7.6缩短引用
7.7将下拉菜单作为导航工具
7.8最后一个表单简写形式
7.9Doctors Without Borders网站中下拉菜单导航工具的工作原理
7.10小结
7.11习题
第8章通过数组和循环记录信息
8.1有关数组的实例
8.2JavaScript的内置数组
8.3数组中包含多少个项目
8.4遍历数组
8.5while循环
8.5.1while循环和数组
8.5.2不要草率行事
8.5.3在循环中使用army.length
8.5.4递增的简写
8.5.5小心无限循环
8.6for循环
8.7AntWeb如何选中所有复选框
8.8创建你自己的数组
8.9本书网站中提示框的工作原理
8.9.1检查空句
8.9.2检查数组中的最后一个元素
8.9.3测试数组的极限
8.9.4startSeroll0函数
8.9.5简化版
8.10循环可以嵌套
8.11逐个创建数组元素
8.12关联数组
8.13小结
8.14习题
第9章计时事件
9.1计时事件的实例
9.2通过setTimeouto设置警报
9.3通过clearTimeouto取消警报
9.4重复计时操作
9.4.1图9-5的逐行分析
9.4.2对表单元素使用parseInto
9.4.3在设置新计时之前清除计时
9.4.4在函数外部声明保存计时的变量
9.5通过计时循环构建一个时钟
9.6本书网站中计时器的工作原理
9.7Space.com中倒计时脚本的工作原理
9.7.1计算时间
9.7.2全局变量和常量
9.8计时播放的幻灯片
9.9更安全的rotatelmageoiN数
9.9.1为什么在函数外部声明变量不安全
9.9.2为什么不能在计时循环中使用var
9.9.3解决方案
9.9.4障碍
9.9.5对障碍的解决方案
9.9.6为什么在rotatelmage0函数外部声明the_images
9.10小结
9.11习题
第10章使用框架和图像地图
10.1框架和图像地图的实例
10.2框架
10.2.1框架基础
10.2.2框架和JavaSeript
10.2.3框架和图像替换
10.2.4一次修改两个框架的内容
10.2.5框架内部的框架
10.2.6JavaScnpt和框架内部的框架
10.2.7摆脱框架
10.2.8使用框架保存信息
10.2.9图10.15的逐行分析
10.3图像地图
10.3.1 图像地图基础
10.3.2图像地图和JavaSenpt
10.4Salon中昆虫大餐脚本的工作原理
10.4.1 Salon的嵌套框架
10.4.2 Salon的图像地图
10.4.3ChangeMeoi函数
10.5小结
10.6习题
第11章验证表单、消息字符串及与服务器端程序协作
11.1表单验证的实例
11.2确保访客填写了一个表单元素
11.3字符串处理
11.3.1分解字符串
11.3.2通过正则表达式匹配字符串模式
11.4Dictionary.com表单验证程序的工作原理
11.5小结
11.6习题
第12章通过cookie保存访客信息
12.1使用cookie的实例
12.2什么是cookie
12.3cookie能做什么,不能做什么
12.4操纵cookie
12.4.1设置cookie
12.4.2读取cookie
12.4.3重置cookie
12.4.4设置多段信息
12.4.5 设置cookie的有效时间
12.4.6谁能读取cookie
12.4.7完整的cookie
12.4.8设置多个cookie
12.5cookie库
12.6基于cookie的购物车
12.6.1 向购物车中添加项目
12.6.2结账页面
12.6.3readTheCookie0函数
12.6.4checkOut0函数
12.7小结
12.8习题
第13章DHTML
13.1DHTML实例
13.2CSS基础
13.2.1标记
13.2.2通过CSS定位div
13.2.3 隐藏div
13.2.4层叠div
13.3 JavaScript和DHTML
13.4让div移动
13.5使用setTimeouto和ClearTimeout0方法为页面添加动画
13.6改变div的内容
13.7span标记和getElementsByTagName0
13.8高级DOM技术
13.8.1W3C DOM简介
13.8.2使用W3CDOM方法创建和添加元素
13.8.3向元素中添加文本
13.8.4在页面中间添加元素和删除元素
13.8.5更多的DOM细节信息
13.8.6使用DOM操作页面
13.9高级事件处理
13.9.1事件对象
13.9.2使用JavaScript添加事件处理程序
13.10下拉菜单
13.10.1 图13-23的逐行分析
13.10.2边框
13.11 小结
13.12习题
第14章AJAX基础
14.1AjaX的实例
14.2AjfiX概述
14.2.1异步——Ajax中的A
14.2.2XML——Ajax中的X
14.2.3JavaScript——Ajax中的J
14.3创建和发送请求
14.3.1创建请求对象
14.3.2告诉请求对象向哪里发送请求
14.3.3 当请求响应时做什么
14.3.4编写在请求响应后被调用的JavaScript
14.3.5发送请求
14.3.6组合起来
14.3.7取得结果
14.4示范异步性
14.5ajax和可用性
14.5.1后退按钮
14.5.2URL和书签
14.5.3乏味的设计
14.6使用ajax,或者不用ajax
14.6.1坏:只因为你会
14.6.2坏:它是一种热门的新事物
14.6.3坏:使用新的模糊的手段取代有效的手段
14.6.4好:环境内的数据操作
14.6.5好:交互式部件
14.6.6好:保存状态
14.7小结
14.8习题
第15章JavaScript和Ajax中的XML
15.1Ajax和XML的实例
15.2Google Suggest
15.3XML
15.4XML的规则
15.4.1 XML标题
15.4.2 XML元素
15.4.3 XML属性
15.4.4不合法的XML字符
15.4.5 XML文档只有一个根元素
15.4.6对XML格式的最后说明
15.5处理XML
15.5.1图15.6的逐行分析
15.5.2Intemet Explorer、responseXML和客户端ajax
15.5.3XML中空格的问题
15.6创建翻译建议应用程序
15.6.1查找翻译
15.6.2显示结果
15.7小结
15.8习题
第16章服务器端Ajax
16.1服务器端Ajax的实例
16.2W-eb服务器的能力
16.3服务器端编程语言
16.4PHP基础
16.5通过GET请求向PHP发送简单的输入
16.5.1在URL中传递输入
16.5.2用PHP读取GET请求中的输入
16.6使用Ajax的GET请求创建Google Suggest应用程序
16.6.1使用Ajax和PHP联系第三方Web服务器
16.6.2定制的Google Suggest应用程序的JavaScript部分
16.6.3使用PHP联络其他Web服务器
16.7Ajax和POST方法
16.7.1适合Ajax的表单
16.7.2通过Ajax发送POST请求
16.7.3从浏览器向Web服务器发送XML信息
16.8HEAD请求:取得与服务器端文件有关的信息
16.8.1为响应添加头部信息
16.8.2头部与XML
16.9缓存问题
16.10PHP中的文件处理
16.10.1通过PHP为文本文件创建和添加内容
16.10.2在PHP中读取文件
16.11如何应对通信中断
16.12当服务器端文件改变时自动更新网页
16.12.1 readFileDoFunctiono
16.12.2 callReadFileo
16.12.3 callUpdatelfChanged()
16.12.4 stopTimero
16.12.5回顾与引申
16.12.6服务器端PHP代码
16.13小结
16.14习题
第17章综合应用实例:共享的TO D0列表
17.1 To D0列表应用程序的功能
17.2 To D0列表的数据文件
17.2.1userlnf0.xml
17.2.2 To D0列表文件
17.3 ToD0列表的服务器端
17.4 To D0列表的客户端,第1部分:HTML
17.5 To D0列表的客户端,第2部分:JavaScript
17.5.1函数的路线图
17.5.2登录或退出应用程序
17.5.3与登录相关的函数
17.5.4辅助函数
17.5.5显示可用的列表
17.5.6显示特定的列表
17.5.7处理对列表的修改
17.5.8操纵XML文档的限制
17.5.9添加新条目
17.6简短的结束语
17.6.1客户端代码还是服务器端代码
17.6.2安全问题
17.7小结
17.8习题
第18章调试JavaScript和AjaX
18.1 良好的编程习惯
18.1.1从注释开始
18.1.2填充代码
18.2避免常见的错误
18.2.1使用一致的命名约定
18.2.2避免使用保留字
18.2.3别忘了在逻辑测试中使用两个等号
18.2.4正确地使用引号
18.3发现bug
18.3.1通过alerto语句输出变量
18.3.2除alert()之外的调试手段
18.3.3使用浏览器的bug检测程序
18.3.4使用JavaScript调试程序
18.3.5在Firefox 1.5和2.0中调试Ajax
18.3.6其他调试资源
18.4修改bug
18.4.1备份程序
18.4.2一次修改一个bug
18.4.3避免巫毒编程
18.4.4查找类似的bug
1 8.4.5保持头脑清醒
18.4.6寻求帮助
18.5 小结
附录A习题答案
附录B学习资源
附录CJavaScript对象和函数参考
附录D第15章的意大利语翻译程序和第17章的To Do列表应用程序
书摘插图
第1章JavaScript入门
JavaScript是构建动态——更确切地说,交互性——网站的一种最种捷和最简单的方式。如果你想让自己平淡的网页焕发光彩,本书正好适合你。
……
