目录

本书结构

第 1 章  “ JavaScript 简介 ”

1.1  JavaScript 简史

1.2  JavaScript 实现

1.3  JavaScript 版本

1.4  小结

第 2 章  “ 在 HTML 中使用 JavaScript ”

第 3 章  “ 基本概念 ”

第 4 章  “ 变量、作用域和内存问题 ”

第 5 章  “ 引用类型 ”

第 6 章  “ 面向对象的程序设计 ”

第 7 章  “ 函数表达式 ”

第 8 章  “ BOM ”

第 9 章  “ 客户端检测 ”

第 10 章  “ DOM ”

第 11 章  “ DOM 扩展 ”

第 12 章  “ DOM2 和 DOM3 ”

第 13 章  “ 事件 ”

第 14 章  “ 表单脚本 ”

第 15 章  “ 引用类型 ”

第 16 章  “ HTML5 脚本编程 ”

第 17 章  “ 错误处理与调试 ”

第 18 章  “ JavaScript 与 XML ”

第 19 章  “ E4X ”

第 20 章  “ JSON ”

第 21 章  “ Ajax 与 Comet ”

第 22 章  “ 高级技巧 ”

第 23 章  “ 离线应用与客户端存储 ”

第 24 章  “ 最佳实践 ”

第 25 章  “ 新兴的 API ”


JavaScript 高级程序设计 , 前端界简称为 : 红宝石 之书


创作此篇文章的目的呢就是希望和大家伙一起从头将此书捋一遍 ,

夯实巩固自己的 JavaScript 基础 , 地基不稳 ,如何建高楼呢 ?

一起加油努力吧 ,毕竟这个行业你要是不卷 ,很容易就会被替代了 。。

内容提要 :

全书从 JavaScript 语言实现的各个组成部分 —— 语言核心、DOM、BOM、事件模型

讲起,深入浅出地探讨了面向对象编程、Ajax 与 Comet 服务器端通信 ,

HTML5 表单、媒体、Canvas( 包括 WebGL )及 Web Workers、地理定位、

跨文档传递消息、客户端存储( 包括 IndexedDB )等新 API ,

还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。

本书附录展望了未来的 API 和 ECMAScript Harmony 规范。

本书适合有一定编程经验的 Web 应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。

前言

JavaScript 是一种非常松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言。

JavaScript 尽管它的语法和编程风格与 Java 都很相似,但它却不是 Java 的 “轻量级” 版本,甚至与 Java 没有任何关系。

JavaScript 是一种全新的动态语言,它植根子全球数亿网民都在使用的 Web 浏览器之中,

致力于增强网站和 Web 应用程序的交互性。


本书结构

本书共 25 章,各章简介如下。

第 1 章  “ JavaScript 简介 ”

讲述了 JavaScript 的起源:因何而生,如何发展,现状如何。

涉及的概念主要有 JavaScript 与 ECMAScript 之间的关系、

DOM ( Document Object Model,文档对象模型 )、

BOM ( Browser Object Model ,浏览器对象模型 ) 。

此外 ,还将讨论 ECMA ( European Computer Manufacturer’s Association ,

欧洲计算机制造商协会 ) 和 W3C ( World Wide Web Consortium ,万维网联盟 )

制定的一些相关标准。

1.1  JavaScript 简史

1.2  JavaScript 实现

1.2.1  ECMAScript

1.2.2  文档对象模型( DOM )

1.2.3  浏览器对象模型( BOM )

1.3  JavaScript 版本

1.4  小结


第 2 章  “ 在 HTML 中使用 JavaScript ”

介绍了如何在 HTML 中使用 JavaScript 创建动态网页。

这一章不仅展示了在网页中嵌入 JavaScript 的各种方式,还讨论了 JavaScript 内容类型

( content-type ) 及其与 <script> 元素的关系。

第 3 章  “ 基本概念 ”

讨论了 JavaScript 语言的基本概念,包括语法和流控制语句。

这一章也分析了 JavaScript 与其他基于 C 的语言在语法上的相同和不同之处 ,

还介绍了与内置操作符有关的类型转换问题。

第 4 章  “ 变量、作用域和内存问题 ”

探讨了 JavaScript 如何处理其松散类型的变量。

这一章还讨论了原始值和引用值之间的差别,以及与变量有关的执行环境的相应内容。

最后,通过介绍 JavaScript 的垃圾收集机制,解释了变量在退出作用域时释放其内存的问题。

第 5 章  “ 引用类型 ”

详尽介绍了 JavaScript 内置的所有引用类型,如 Object 和 Array。

这一章对 ECMA-262 规范中描述的每一种引用类型做了理论上的阐释,

又从浏览器实现的角度给出了介绍。

第 6 章  “ 面向对象的程序设计 ”

讲述了在 JavaScript 中如何实现面向对象的程序设计。

由 JavaScript 没有类的概念,因此这一章从对象创建和继承的层面上展示了一些流行的技术。

此外,这一章还讲解了函数原型的概念,并对函数原型与整个面向对象方法的关系进行了探讨。

第 7 章  “ 函数表达式 ”

集中介绍了 JavaScript 中最为强大的一个特性 —— 函数表达式。

相关的内容涉及闭包、this 对象的角色、模块模式和创建私有对象成员等。

第 8 章  “ BOM ”

介绍 BOM ( Browser Object Model ,浏览器对象模型 ) ,

即负责处理与浏览器自身有关的交互操作的对象集合。

这一章全面介绍了每一个 BOM 对象,包括 window、document、location、navigator 和 screen

第 9 章  “ 客户端检测 ”

讨论了检测客户端机器及其支持特性的各种手段,

包括特性检测及用户代理字符串检测的不同技术。

这一章还就每种手段的优缺点及适用情形给出了详细说明。

第 10 章  “ DOM ”

介绍 DOM ( Document Object Model ,文档对象模型 ) ,

即 DOM1 规定的 JavaScript 中的 DOM 对象 。

这一章也简要介绍了 XML 及其与 DOM 的关系 ,

为深入探讨所有 DOM 规范及其定义的操作网页的方式奠定了基础。

第 11 章  “ DOM 扩展 ”

介绍了其他 API 以及浏览器本身为 DOM 添加的各种功能。

涉及内容包括 Selectors API、Element Traversal API 和 HTML5 扩展。

第 12 章  “ DOM2 和 DOM3 ”

在前两章的基础上继续探讨了 DOM2 和 DOM3 中新增的 DOM 属性、方法和对象。

这一章还讨论了 IE 与其他浏览器的兼容性问题 。

第 13 章  “ 事件 ”

解释了 JavaScript 中事件的本质,对遗留机制的支持,以及 DOM 对事件机制的重新定义。

这一章讨论了多种设备,包括 Wii 和 iPhone。

第 14 章  “ 表单脚本 ”

讲述如何使用 JavaScript 增强表单的交互性,突破浏览器的局限性。

这一章的讨论主要围绕单个表单元素如文本框、选择框,以及围绕数据验证和操作展开。

第 15 章  “ 引用类型 ”

讨论了 <canvas> 标签以及如何通过它来动态绘图。

不仅涵盖 2D 上下文,也将讨论 WebGL ( 3D ) 上下文,可以为创建动画和游戏夯实基础。

第 16 章  “ HTML5 脚本编程 ”

介绍了 HTML5 规定的 JavaScript API ,涉及跨文档传递消息、

拖放 API 和 以编程方式控制 <audio> 和 <video> 元素 ,以及管理历史状态。

第 17 章  “ 错误处理与调试 ”

讨论浏览器如何处理 JavaScript 代码错误 ,并展示了一些处理错误的方式。

这一章针对每种浏览器分别讨论了相应的调试工具和技术,还给出了简化调试工作的建议。

第 18 章  “ JavaScript 与 XML ”

展示了 JavaScript 中用于读取和操作 XML ( eXtensible Markup Language ,可扩展标记语言 )

的特性 。这一章分析了不同浏览器提供的 XML 支持和对象的差异,

给出了编写跨浏览器代码的简易方法 。

此外 ,这一章还介绍了用于在客户端转换 XML 数据的 XSLT

( eXtensible Stylesheet Language Transformations ,可扩展样式表语言转换 ) 技术。

第 19 章  “ E4X ”

讨论了 E4X ( ECMAScript for XMLECMAScript 中的 XML 扩展 ) ;

设计 E4X 的出发点是简化 XML 处理任务 。

这一章探讨了在处理 XML 时 ,使用 E4X 与使用 DOM 相比有哪些优势。

第 20 章  “ JSON ”

介绍了作为 XML 替代格式的 JSON ,包含浏览器原生支持的 JSON 解析和序列化 ,

以及使用 JSON 时要注意的安全问题 。

第 21 章  “ Ajax 与 Comet ”

讲解了常用的 Ajax 技术 ,包括使用 XMLHttpRequest 对象及 CORS

( Cross-Origin Resource Sharing ,跨域源资源共享 ) API 实现跨域 Ajax 通信 。

这一章展示了浏览器在实现与支持方面存在的差异,同时也给出了一些使用建议 。

第 22 章  “ 高级技巧 ”

深入讲解了一些 JavaScript 中较复杂的模式 ,包括函数柯里化 ( currying ) 、

部分函数应用和动态函数 。

这一章还讨论了如何创建自定义的事件框架和使用 ECMAScript 5 创建防篡改对象 。

第 23 章  “ 离线应用与客户端存储 ”

讨论了如何检测应用离线以及在客户端机器中存储数据的各种技术。

先从受到最广泛支持的特性 cookie 谈起,继而介绍了新兴的客户端存储技术,

如 Web Storage 和 IndexedDB 。

第 24 章  “ 最佳实践 ”

探讨了在企业级环境中使用 JavaScript 的各种方式 。

其中 ,着眼于提高可维护性的内容包括编码技巧、格式化和通用月编程实践 。

这一章还介绍了改善代码执行性能及速度优化的一些技术 。

最后讨论了部署问题 ,包括如何创建构建过程 。

第 25 章  “ 新兴的 API ”

介绍了为增强虽浏览器中的 JavaScript 而创建的新 API 。

虽然这些 API 还没有得到完整或全面的支持 ,但它们已经崭露头角 ,

有些浏览器也已经部分地实现了这些 API 。这一章的内容主要是 Web 计时和文件 API 。


使用示例

完整的示例源代码可以从 http://www.wrox.com/   中下载 ( 下载步骤见 “ 源代码 ” 一节 )。


持续更新 , 一起学习 , 共勉 !  加油 ( ^ - ^ )!

前端之从头开始学《红宝石》相关推荐

  1. web前端从学习到学废

    web前端从学习到学废 了解web前端 1.HTML.CSS系列之导学 2.什么是HTML.CSS? 3.宇宙第一编辑器VSCode 4.chrome浏览器 5.深入了解网站开发 6.web三大核心技 ...

  2. 从头再学 JavaScript 系列前言

    说实话想写这个系列已经很久了,对于每一个学习前端的同学来说,JavaScript 都是必须要掌握的,但是实际上对很多同学而言,特别是刚入门或者入门时间不长的同学,对 JS 的认识并不深.大部分仅仅停留 ...

  3. 从头开始学JavaScript (五)——操作符(二)

    原文:从头开始学JavaScript (五)--操作符(二) 一.乘性操作符 1.乘法:*      乘法操作符的一些特殊规则: 如果操作数都是数值,按照常规的乘法计算,如果乘积超过了ECMAscri ...

  4. 网站前端开发基础知识学什么?必备技能

    网站前端开发基础知识学什么?Web前端开发网页制主要由HTML.CSS.JavaScript三大要素组成.随着企业需求变,前端开发技术的三要素也演变成现今的HTML5.CSS3.jQuery.响应式布 ...

  5. 6个web前端核心技术,你学到哪个了呢?

    今天来和大家讲讲web前端开发需要学习什么?前端开发又需要用到哪些开发工具?然后也简单的和大家介绍下前端开发的前景和薪水工资情况,下面就简单和大家介绍一下. web前端的职能 web前端工程师其实在不 ...

  6. python和scre_前端大牛们都学过哪些东西?

    想成为一名前端大牛,按照这个路线学习,足以帮助你快速成长. 从一名小白开始入门前端,到前端进阶,再到成长为技术大牛. 首先学习 HTML.CSS 和 JavaScript 的基础知识.你可以在以下几个 ...

  7. 学前端要多久?学前端要多久?学前端多少钱

    随着第五届互联网大会的逐步进行,互联网行业再次掀起一番热浪,让大家也虎视眈眈的盯上了IT行业.而且,IT行业目前的薪资也是异常的客观,让很多人也想学IT.尤其是现在热门的Python.前端一类的课程. ...

  8. 【自学前端】我只学这些够吗?好难

    表弟也终于到了马上要大学毕业的时间,然后听说我在做前端开发工作,就想着能不能和我一起搞一搞. 我说这又不是小时候一起去地里抓兔子,说走就一起走,拿上工具一起走了,这得学啊.看着表弟期待的眼神,他问了我 ...

  9. 从头开始学算法:考研机试题练习(C/C++)–STL使用

    从头开始学算法:考研机试题练习(C/C++)–STL使用 最近重学C语言,刷的是胡凡写的<算法笔记>,这本书的题主要是面向考研机试和一般算法考试的,零基础入门,还不错,在此记录学习过程. ...

最新文章

  1. OpenCV中直方图反向投影算法详解与实现
  2. 对下载的包进行修改--python
  3. python 设置图片x轴带单位_用Python帮你上马,哪里无码打哪里
  4. GNU make 与 override指令
  5. 安卓开发.四大组件.activity.1
  6. 深解微服务架构:从过去,到未来
  7. Ambari删除服务报错之CSRF protection is turned on
  8. Grunt 新手指南
  9. DirectX 基础学习系列5 纹理映射
  10. 大量的数据做字符串匹配_【重学数据结构与算法(JS)】字符串匹配算法(三)——BM算法...
  11. CHIL-SQL-FOREIGN KEY 约束
  12. NPS内网穿透服务端一键安装脚本
  13. Hadoop学习之本地运行hadoop
  14. 这个双十一,我被淘宝“套娃”游戏整懵了
  15. word2003流程图变成图片_流程图怎么画word2003
  16. 伽罗华有限域_伽罗华域(Galois Field,GF,有限域)乘法运算 - MengBoy的专栏 - CSDN博客...
  17. 【微生物相关数据库】NAR database issue
  18. dfuse Labs——展示 dfuse 的力量
  19. C语言数据结构,排序的基本操作。
  20. php球半径为2的圆面积,某竖直平面内有一半径为R的光滑固定圆环,斜边长2R、短边长R的匀质直角三角板放在环内,试求三角板在其平衡位...

热门文章

  1. 几个不错的开源BPM系统
  2. NXP i.MX 8M Mini开发板(4核 ARM Cortex-A53)硬件原理图规格说明书
  3. pika的安装和简单用法
  4. 不可多得的干货!互联网公司常用分库分表方案汇总!太完整了!
  5. 使用jupyter notebook运行卷积神经网络出现的版本问题
  6. php时间戳转换成时间的方法
  7. 在线时间戳 (Unix) 转换工具
  8. 12-1 蓝色天空 : 创建一个背景为蓝色的Pygame窗口 12-2 游戏角色 : 找一幅你喜欢的游戏角色位图图像或将一幅图像转换为位图。 创建一个类, 将该角色绘制到屏幕中央, 并将该图像的背景色
  9. 当RxJava遇上Retrofit
  10. 【技术分享】Android App常见安全问题演练分析系统-DIVA-Part1