目录
前  言 第1章 了解JavaScript 1.1 JavaScript是什么 1.2 JavaScript不是Java 1.3 JavaScript的起源 1.4 JavaScript可以做什么 1.5 JavaScript不能做什么 1.6 Ajax是什么 1.7 组合式(snap-together)语言 1.7.1 对象 1.7.2 属性 1.7.3 方法 1.7.4 将对象、属性和方法组合在一起 1.7.5 DOM简介 1.8 处理事件 1.9 值和变量 1.9.1 操作符 1.9.2 赋值和比较 1.9.3 比较 1.10 编写对JavaScript友好的HTML 1.10.1 结构、表现和行为 1.10.2 div和span 1.10.3 class和id 1.11 要使用什么工具 第2章 开始 2.1 将脚本放在哪里 2.2 关于函数 2.3 使用外部脚本 2.4 在脚本中添加注释 2.5 向用户发出警告 2.6 确认用户的选择 2.7 提示用户 2.8 用链接对用户进行重定向 2.9 使用JavaScript改进链接 2.10 使用多级条件 2.11 处理错误 第3章 第一个Web应用程序 3.1 用循环进行重复操作 3.2 将值传递给函数 3.3 探测对象 3.4 处理数组 3.5 处理有返回值的函数 3.6 更新数组 3.7 使用do/while循环 3.8 以多种方式调用脚本 3.9 组合使用JavaScript和CSS 3.10 检查状态 3.11 处理字符串数组 第4章 处理图像 4.1 创建翻转器 4.2 创建更有效的翻转器 4.3 构建三状态翻转器 4.4 由链接触发翻转器 4.5 让多个链接触发一个翻转器 4.6 处理多个翻转器 4.7 创建循环的广告条 4.8 在循环广告条中添加链接 4.9 建立循环式幻灯片 4.10 显示随机图像 4.11 随机开始循环显示图像 第5章 窗口与框架 5.1 防止页面显示在框架中 5.2 设置目标 5.3 用JavaScript加载iframe 5.4 Iframes的使用 5.5 创建动态iframe 5.6 在文档之间共享函数 5.7 打开新窗口 5.8 为窗口加载不同的内容 第6章 表单处理 6.1 选择并转移导航菜单 6.2 动态地改变菜单 6.3 建立必须填写的字段 6.4 根据其他字段对字段进行检查 6.5 标识有问题的字段 6.6 准备进行表单验证 6.7 处理单选按钮 6.8 用一个字段设置另一个字段 6.9 检验Zip编码 6.10 验证电子邮件地址 第7章 表单和正则表达式 7.1 用正则表达式验证电子邮件地址 7.2 验证文件名 7.3 提取字符串 7.4 格式化字符串 7.5 对字符串进行格式化和排序 7.6 对字符串进行格式化和验证 7.7 使用正则表达式替换元素 第8章 处理事件 8.1 处理窗口事件 8.1.1 onload事件 8.1.2 onunload事件 8.1.3 onresize事件 8.1.4 onmove事件 8.1.5 onabort事件 8.1.6 onerror事件 8.1.7 onfocus事件 8.1.8 onblur事件 8.2 处理鼠标事件 8.2.1 onmousedown事件 8.2.2 onmouseup事件 8.2.3 onmousemove事件 8.2.4 onmouseover事件 8.2.5 onmouseout事件 8.2.6 ondblclick事件 8.2.7 onclick事件 8.3 表单事件处理 8.3.1 onsubmit事件 8.3.2 onreset事件 8.3.3 onchange事件 8.3.4 onselect事件 8.3.5 onclick事件 8.3.6 onblur事件 8.3.7 onfocus事件 8.4 键事件处理 8.4.1 onkeydown事件 8.4.2 onkeyup事件 8.4.3 onkeypress事件 第9章 JavaScript和cookie 9.1 建立第一个cookie 9.2 读取cookie 9.3 显示cookie 9.4 使用cookie作为计数器 9.5 删除cookie 9.6 处理多个cookie 9.7 显示新内容提醒信息 第10章 对象和DOM 10.1 关于节点操纵 10.1.1 DOM2和W3C 10.1.2 DOM2术语 10.1.3 DOM3 10.2 添加节点 10.3 删除节点 10.4 删除特定的节点 10.5 插入节点 10.6 替换节点 10.7 用对象字面值编写代码 第11章 建立动态页面 11.1 在网页上显示当前日期 11.2 处理周中的日期 11.3 根据时间对消息进行定制 11.4 根据时区显示日期 11.5 把24小时制转换为12小时制 11.6 创建倒数计数器 11.7 隐藏和显示层 11.8 移动文档中的对象 11.9 日期方法 第12章 JavaScript应用示例 12.1 使用可折叠菜单 12.2 添加下拉菜单 12.3 改进下拉菜单 12.4 带说明的幻灯片 12.5 一个无聊的姓名生成器 12.6 柱状图生成器 12.7 样式表切换器 第13章 Ajax简介 13.1 Ajax的定义 13.2 读取服务器数据 13.3 解析服务器数据 13.4 刷新服务器数据 13.5 从服务器获得数据 13.6 用Ajax预览链接 13.7 自动补全表单字段 第14章 工具包、框架和库 14.1 添加jQuery 14.2 使用jQuery更新页面 14.3 使用jQuery交互 14.4 交互与更新 14.5 自动完成字段 第15章 用jQuery设计页面 15.1 突出显示新元素 15.2 创建可折叠菜单 15.3 创建更漂亮的对话框 15.4 条纹表格 15.5 表格排序 第16章 基于jQuery的应用 16.1 以jQuery为基础 16.2 使用ThemeRoller定制外观 16.3 在页面中添加日历 16.4 拖放元素 16.5 使用jQuery处理外部数据 16.6 使用jQuery插件 第17章 bookmarklet 17.1 第一个bookmarklet 17.2 改变页面的背景颜色 17.3 改变页面样式 17.4 查询单词 17.5 查看图像 17.6 显示ISO Latin字符 17.7 将RGB值转换为十六进制 17.8 对值进行转换 17.9 bookmarklet计算器 17.10 缩短URL 17.11 检验页面 17.12 通过电子邮件发送页面 17.13 改变页面大小 附录A JavaScript的版本演化和参考资料 附录B JavaScript保留字 附录C CSS参考 附录D 其他学习资源 JavaScript Visual QuickStart Guide Eighth Edition JavaScript 基础教程(第8版)

JavaScript教程

JavaScript教程,适合初学者学习和开发人员备查

前  言

迎使用JavaScript!使用这种容易上手的程序设计语言,可以给网页增色,使网页更好用。本书是一本轻松的JavaScript入门教程,所以即使不是计算机高手,你也可以由此很快学会脚本编写。任何时候你都不需要借助工具包。就像我们的一位朋友说的:“我们已经够疯狂了,所以你没有必要这样做啦!”

读者对象

我们猜想既然你有兴趣学习JavaScript,那么肯定有创建HTML页面和Web站点的经验,而且希望更进一步,使站点更具交互性。学习本书并不要求你了解任何编程或脚本编程的知识,也不要求你是HTML专家(当然,如果你是HTML专家也无妨)。我们只假设你具备构建网页的基本知识,而且熟悉常用的HTML标签,比如链接、图像和表单。

在某些章首题为“目前需要了解的HTML知识”的表中,我们对HTML做了一些解释。并非每章都有这部分内容,只有在我们认为你需要速查的地方才会提供。有了这些HTML信息,你就不需要在阅读本书的同时,再去翻另一本书或者打开相关网页查找HTML属性的语法了[1]

如果你对编程有所了解,应该会注意到本书介绍JavaScript的方式与其他图书的风格很不一样。本书并不深入介绍JavaScript的语法和结构,而且本书也不是一本深入而全面的语言参考书(当然附录A中提供了一些很有价值的内容)。这方面市面上已经有不少很好的书,附录D中列出了它们。本书和这些书之间的差异是,本书并不拘泥于形式,而是集中地演示如何用JavaScript完成一些有用的任务,不赘述大量的额外信息。

在本书的前几版中,我们增加了对Ajax的介绍。这种技术结合使用了JavaScript和其他常用的Web技术为网页增加交互性,并且改善了Web站点的用户体验。本书提供了Ajax基础知识和实际示例,帮助你给站点增加Ajax功能,而不必深入学习Web编程。在这个版本中,我们添加了更多示例和技术介绍,使用jQuery框架(你可能将其当做构建块)来向网站轻松添加有用的功能。

如何使用本书

本书采用一些特殊的版式,帮助你更轻松地学习和理解JavaScript。

组成本书的大部分内容由分步说明构成。我们在书中以特殊的字体样式表示HTML或JavaScript代码,比如:

<div id = "thisDiv">

window.onload = initLinks;

你还会注意到,HTML和JavaScript代码都显示为小写。这么做是因为,这个版本中的所有脚本都符合W3C(World Wide Web Consortium,万维网联盟)的HTML 5标准。当在JavaScript中看到引号时,总是直引号('或"),而不是弯引号(‘或“)。弯引号会使JavaScript失效,在编写脚本时应该避免使用。

在与分步说明对应的脚本中,我们以粗体突出显示脚本中正在讨论的部分,这样你就能够马上找到我们正在讨论的代码。我们还常常在Web浏览器窗口的屏幕图中以灰色底纹突出显示其中某些重要的部分。

因为图书的页面比计算机屏幕窄,所以一些JavaScript代码行在页面上排不开。出现这种情况时,我们将代码行分为多行,在接续行前面使用箭头→表示这是续行,并且将续行缩进,如下所示:

dtString = "Hey, just what are you

→ doing up so late?";

关于浏览器

在第6版中有一个大的变化:我们不再支持那些版本非常老的浏览器或者那些在支持Web标准方面做得很差的浏览器。我们发现,几乎所有Web用户都升级到了现代浏览器,它们充分地支持公认的Web标准(比如HTML、CSS2和DOM)。这包括IE 7或更高版本,Firefox 1.0或更高版本,Safari和Chrome的所有版本,以及Opera 7或更高版本。

我们在几种操作系统上的多个浏览器中测试了脚本,这些操作系统包括Windows(Vista和Windows 7)、Mac OS X(10.4.11或更高版本)和Ubuntu Linux(我们只在Ubuntu的默认浏览器Firefox中测试了脚本)。

我们使用最主流的浏览器——微软Windows版本的IE——虚拟测试了本书中的所有内容(我们使用了IE 7、IE 8和IE 9)。我们还用Mac平台和Windows平台上的Firefox 3和Firefox 4以及Safari 5对脚本做了测试。使用Safari 5进行测试,意味着这些脚本对于从WebKit引擎衍生出来的任何浏览器(比如Google Chrome)都可以正常使用,对基于KHTML(Safari最开始使用的开源呈现引擎)的浏览器(比如Linux浏览器Konqueror)也可以正常使用。WebKit也是移动操作系统浏览器核心之一,比如苹果的iOS、Google的Android、Research in Motion的Blackberry 6及更高版本,以及HP的WebOS。至此,我们主要将脚本在iPhone和iPad上面做了测试。

不必输入代码

一些JavaScript图书只在书中印刷出脚本代码,你在实践时必须自己输入代码。我们认为这种方式已经过时了。作者们不得不完成这些艰苦的输入工作,但是你不必重复这些劳动。我们为本书提供了一个配套Web站点,其中包含本书中的所有脚本,你可以将这些脚本复制并粘贴到自己的网页中。这个站点还包含其他提示和脚本。如果我们在书中发现了任何错误,也会在这里给予更正。这个配套站点的网址是www.javascriptworld.com。

如果由于某种原因你打算输入某些脚本示例,那么可能会发现这些示例似乎不起作用,这是因为你没有这些示例所用的支持文件。例如,在图像上实现屏幕效果的示例中,需要图像文件。但请放心,这些文件都放在本书的Web站点上了,而且打包好了供你下载。你找到的可下载文件包含所有脚本、HTML文件、CSS文件以及用到的所有媒体文件。如果你遇到任何问题,可以查看配套Web站点上的FAQ(常见问题)。

如果阅读了FAQ,而你的问题还没有解决,可以通过js8@javascriptworld.com给我们发邮件。很抱歉地说一声,因为收到的邮件太多,所以我们不可能也不会回复那些把本书问题发送到我们个人邮件地址的邮件。但是,我们可以保证发送到js8@javascriptworld.com的邮件会得到答复。

开始吧

JavaScript最好的一点是它很容易用一个简单的脚本在网页上实现很酷的效果,然后根据需要逐渐添加更复杂的素材。你不必等到学完整本书,就可以开始改进自己的网页。等到你看完本书的时候,将能用Ajax和jQuery给站点添加高级的交互效果了。

当然,千里之行,始于足下。欢迎光临,请勿将手伸出窗外,照相时请不要用闪光灯。探索JavaScript的旅程已经开始。

致谢

特别感谢我们的编辑Nancy Peterson,她的专业精神、冷静沉着和温暖的关怀使本书的写作过程非常愉悦。

感谢Tracey Croom出色的制作工作和Scout Festa熟练的文字加工工作。

我们衷心感谢本书的排版人员Danielle Foster,她优雅镇定地完成了排版工作。感谢给本书编索引的Emily Glossbrenner,她做了一项吃力不讨好的工作。

我们要感谢Peachpit出版社的Nancy Ruenzel和Nancy Davis所给与的支持。

我们要感谢采用本书以前的版本作为课程教材的所有高中、大专院校的教师。

在我们签署了本书的合同之后,着手开工之前,Dori在Stack Exchange(http://www.stackexchange.com)找到了她梦寐以求的工作。如果没有别人的大力帮助,她不可能在两份工作同时进行的情况下还能保持清醒的头脑。因此Dori心中充满感激,特别要感谢下列人士。

□ 感谢Stack的所有同事,尤其是Joel Spolsky、Jeff Atwood、Robert Cartaino、Rebecca Chernoff以及Josh Heyer。他们拿出了大量的时间和耐心来帮助我,才让我在创作本书的过程中没把工作丢掉。
□ 也非常感谢Peachpit公司那位极具耐心的女士——我们做了14年同事,但我仍然很敬佩她的创造力。
□ 我要特别地感谢本书的另一位作者Tom Negrino。他为这版书所做的工作远远超出了原先的分工,甚至还将他(和我)的结婚十周年纪念推迟到了本书完成之后。

[1]要学习HTML,推荐阅读《HTML5基础教程(第7版)》。——编者注

没有精选讨论主题。

全部讨论主题 查看精选主题

没有讨论主题。
😃 😅 😆 😁 😂 😊 😄 😠 😩 😲 😞 😵 😰 😒 😍 😤 😜 😝 😋 😘 😚 😷 😳 😢 😭 😨 😣 😡 😌 😖 😔 😱 😪 😏 😓 😥 😫 😉 👊 👍 👆 👇 👈 👉 👋 👏 👌 👎 👐 💓 💔 💕 💖 💗 💘 💙 💚 💛 💜 💝 💞 💟