JavaScript面向对象编程指南

出版社:人民邮电出版社
出版日期:2013-3
ISBN:9787115309044
作者:斯托扬
页数:310页

章节摘录

版权页:   插图:   7.6 XMLHttpRequest对象 XMLHttpRequest()是一个用构建HTTP请求的JavaScript对象(即构造器)。从历史上来说,XMLHttpRequest(简称XHR)最初在IE浏览器中是以ActiveX对象的形式被引入的。但正式实现该对象则是始于IE7,那时候也只是该浏览器中的一个本地对象,后来逐渐被Firefox、Safari、Opera等其他浏览器所接受,并形成了一种通用的跨浏览器实现,这就是所谓的AJAX应用。这种应用模式可以使我们无须每次都通过刷新整个页面来获取新内容。我们可以利用JavaScript将相关的HTTP请求发送给服务器端,然后根据服务器端的响应来局部更新页面。总而言之,通过这种方式构建出来的页面在许多响应方式上会更类似于桌面应用。 实际上,AJAX就是在JavaScript和XML之间所建立的一种异步联系。之所以是异步,是因为我们的代码在发送HTTP请求之后,不需要特地停下来等待服务器响应,可以继续执行其他任务,待相关信息到达时自然会收到通知(通常以事件的形式出现)。 JavaScript——它的作用很明显,XHR对象就是用JavaScript来创建的。 至于用XML,则是因为开发者最初设计这种HTTP请求就是用来获取XML文档,并用其中的数据来更新页面的。尽管如今这种做法已经不太常见了,但是这种方式也可以用来获取纯文本格式的数据,这能使得一些JSON格式的数据,或简单的HTML元素更容易被插入相关的页面中。 关于XMLHttpRequest对象的用法,主要可以分为两个有效步骤: 发送请求——在这一步骤中,我们需要完成XMLHttpRequest对象的构建,并为其设置事件监听器。 处理响应——在这一步骤中,事件监听器会在服务器的响应信息到达时发出通知,然后代码就会忙于从中提取有用的信息。

内容概要

Stoyan Stefanov:雅虎公司的Web开发人员、Zend认证工程师。他经常会在其博客(www.phpied.com)与一些相关会议中就JavaScript、PHP等Web开发话题发表独到见解。他还独自运营着其他一些网站,其中包括JSPatterns.com—一个用于探讨JavaScript模式的网站。除此之外,Stoyan还是雅虎性能优化工具的项目领导人,同时参与了多个开源项目,例如Firebug和PEAR。
Stoyan是一位“世界公民”,出生并成长于保加利亚,但却是一个加拿大公民,现居住于美国加利福尼亚州的洛杉矶。在短暂的线下时间里,他喜欢弹吉他,与家人一起去圣莫尼卡海滩或待在游泳池边。

书籍目录

第1章 引言
1
1.1 回顾历史
1
1.2 变革之风
3
1.3 分析现状
3
1.4 展望未来
4
1.5 面向对象程序设计
5
1.5.1 对象
5
1.5.2 类
6
1.5.3 封装
6
1.5.4 聚合
7
1.5.5 继承
7
1.5.6 多态
8
1.6 OOP概述
8
1.7 训练环境设置
9
1.8 使用Firebug控制台
10
1.9 本章小结
11
第2章 基本数据类型、数组、循环及条件表达式
13
2.1 变量
13
2.2 操作符
15
2.3 基本数据类型
18
2.3.1 查看类型操作符——typeof
19
2.3.2 数字
19
2.3.3 字符串
23
2.3.4 布尔值
26
2.3.5 Undefined与null
32
2.4 基本数据类型综述
34
2.5 数组
35
2.5.1 增加、更新数组元素
36
2.5.2 删除元素
36
2.5.3 数组的数组
37
2.6 条件与循环
38
2.6.1 代码块
38
2.6.2 循环
44
2.7 注释
49
2.8 本章小结
49
2.9 练习题
50
第3章 函数
52
3.1 什么是函数
53
3.1.1 调用函数
53
3.1.2 参数
53
3.2 预定义函数
55
3.2.1 parseInt()
56
3.2.2 parseFloat()
57
3.2.3 isNaN()
58
3.2.4 isFinite()
58
3.2.5 URI的编码与反编码
59
3.2.6 eval()
59
3.2.7 一点惊喜—alert()函数
60
3.3 变量的作用域
60
3.4 函数也是数据
62
3.4.1 匿名函数
63
3.4.2 回调函数
64
3.4.3 回调示例
65
3.4.4 自调函数
66
3.4.5 内部(私有)函数
67
3.4.6 返回函数的函数
68
3.4.7 能重写自己的函数
68
3.5 闭包
70
3.5.1 作用域链
70
3.5.2 词法作用域
71
3.5.3 利用闭包突破作用域链
72
3.5.4 Getter与Setter
78
3.5.5 迭代器
79
3.6 本章小结
80
3.7 练习题
80
第4章 对象
82
4.1 从数组到对象
82
4.1.1 元素、属性、方法
84
4.1.2 哈希表、关联型数组
85
4.1.3 访问对象的属性
85
4.1.4 调用对象的方法
86
4.1.5 修改属性与方法
87
4.1.6 使用this值
88
4.1.7 构造器函数
88
4.1.8 全局对象
90
4.1.9 构造器属性
91
4.1.10 instanceof操作符
92
4.1.11 返回对象的函数
92
4.1.12 传递对象
93
4.1.13 对象比较
94
4.1.14 Firebug控制台中的对象
95
4.2 内建对象
96
4.2.1 Object
97
4.2.2 Array
98
4.2.3 Function
102
4.2.4 Boolean
107
4.2.5 Number
109
4.2.6 String
110
4.2.7 Math
115
4.2.8 Date
117
4.2.9 RegExp
121
4.2.10 Error对象
127
4.3 本章小结
131
4.4 练习题
132
第5章 原型
135
5.1 原型属性
135
5.1.1 利用原型添加方法与属性
136
5.1.2 使用原型的方法与属性
137
5.1.3 自身属性与原型属性
138
5.1.4 利用自身属性重写原型属性
139
5.1.5 isPrototypeOf()方法
143
5.1.6 神秘的_proto_链接
143
5.2 扩展内建对象
145
5.2.1 关于扩展内建对象的讨论
146
5.2.2 一些原型陷阱
147
5.3 本章小结
150
5.4 练习题
150
第6章 继承
152
6.1 原型链
152
6.1.1 原型链示例
153
6.1.2 将共享属性迁移到原型中去
156
6.2 只继承于原型
158
6.3 uber—子对象访问父对象的方式
161
6.4 将继承部分封装成函数
163
6.5 属性拷贝
163
6.6 小心处理引用拷贝
165
6.7 对象之间的继承
167
6.8 深拷贝
169
6.9 object()
171
6.10 原型继承与属性拷贝的混合应用
172
6.11 多重继承
173
6.12 寄生式继承
175
6.13 构造器借用
176
6.14 本章小结
179
6.15 案例学习:图形绘制
183
6.15.1 分析
183
6.15.2 实现
184
6.15.3 测试
188
6.16 练习题
189
第7章 浏览器环境
190
7.1 在HTML页面中引入JavaScript代码
190
7.2 概述:BOM与DOM
191
7.3 BOM
192
7.3.1 window对象再探
192
7.3.2 window.navigator
193
7.3.3 Firebug的备忘功能
193
7.3.4 window.location
194
7.3.5 window.history
195
7.3.6 window.frames
196
7.3.7 window.screen
197
7.3.8 window.open()/close()
198
7.3.9 window.moveTo()、window.resizeTo()
199
7.3.10 window.alert()、window.prompt()、window.confirm()
199
7.3.11 window.setTimeout()、window.setInterval()
201
7.3.12 window.document
202
7.4 DOM
202
7.4.1 Core DOM与HTML DOM
204
7.4.2 DOM节点的访问
206
7.4.3 DOM节点的修改
215
7.4.4 新建节点
218
7.4.5 移除节点
221
7.4.6 只适用于HTML的DOM对象
223
7.5 事件
227
7.5.1 内联HTML属性法
227
7.5.2 元素属性法
227
7.5.3 DOM的事件监听器
228
7.5.4 捕捉法与冒泡法
229
7.5.5 阻断传播
231
7.5.6 防止默认行为
233
7.5.7 跨浏览器事件监听器
233
7.5.8 事件类型
235
7.6 XMLHttpRequest对象
236
7.6.1 发送请求
236
7.6.2 处理响应
237
7.6.3 在早于7的IE版本中创建XMLHttpRequest对象
238
7.6.4 A代表异步
239
7.6.5 X代表XML
240
7.6.6 实例示范
240
7.7 本章小结
242
7.8 练习题
244
第8章 编程模式与设计模式
247
8.1 编程模式
248
8.1.1 行为隔离
248
8.1.2 命名空间
250
8.1.3 初始化分支
253
8.1.4 延迟定义
254
8.1.5 配置对象
255
8.1.6 私有属性和方法
257
8.1.7 特权函数
258
8.1.8 私有函数的公有化
258
8.1.9 自执行函数
259
8.1.10 链式调用
260
8.1.11 JSON
261
8.2 设计模式
262
8.2.1 单件模式1
263
8.2.2 单件模式2
263
8.2.3 工厂模式
264
8.2.4 装饰器模式
266
8.2.5 观察者模式
269
8.3 本章小结
272
附录A 保留字
273
附录B 内建函数
276
附录C 内建对象
279
附录D 正则表达式
305

编辑推荐

《JavaScript面向对象编程指南》编辑推荐:JavaScript是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象编程语言。《JavaScript面向对象编程指南》中值得一提的是,《JavaScript面向对象编程指南》作者是JavaScript设计模式方面的专家,他在第8章中介绍了几种常用的JavaScript编程模式,这也为他后续的另一本重要著作《JavaScript Patterns》奠定了基础。《JavaScript面向对象编程指南》全面地覆盖了JavaScript语言的OO特性,同时兼顾基础知识,对初学者来说,是难得的JavaScript佳作。阅读《JavaScript面向对象编程指南》不需要读者具备任何的JavaScript基础知识及项目经验,通过学习《JavaScript面向对象编程指南》,读者将会在面试有关JavaScript程序设计的职位时游刃有余。

作者简介

《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。
《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库。


 JavaScript面向对象编程指南下载 更多精彩书评



发布书评

 
 


精彩书评 (总计9条)

  •     要学JS OO编程,这本书还真是必读。英文版审阅者包括Douglas Crockford和Nicolas C.Zakas这样的大牛。阮一峰曾力荐此书,并写下了学习笔记: http://t.cn/zWhKPzw http://t.cn/hDczH http://t.cn/hdDwyK
  •     前4章讲js基础知识,才发现以前忽略很多细节,可以浏览一遍提取出不太熟的细节记记。第5,6章详细讲了原型继承的知识,很全面,总结了所有的继承的方式和技巧,不过正式因为全所以导致不容易抓住重点。讲的12个方式,只需记住2-3种常用方式即可,其他的理解就行。之后粗略讲了BOM和DOM,挑不熟悉的记记。以前学过java的编程模式,不过感觉在js上用模式不太实用。
  •     本书的原名是《Object-Oriented JavaScript》,中文译名为《JavaScript面向对象编程指南》,我觉得不是很贴切,结合书中的内容,可能《面向对象的JavaScript教程/指南》或《JavaScript基础教程/指南》更合适一些,因为本书的重点其实并不是“面向对象”(虽然有几章重点在于面向对象),作为JavaScript的菜鸟向初级水平过渡十分合适(如果你已有《JavaScript权威指南》或《JavaScript高级程序设计》且正在研究,就请忽略本书吧)。在书的结尾页,印有“本书的目标读者”:本书并不要求读者在JavaScript方面有任何基础,我们将会从零开始打下深厚的JavaScript语言功底。所以从该出可以看出本书的定位。书中关于“面向对象”的内容主要集中在第6章“继承”和第8章“编程模式与设计模式”。其中我认为“继承”这章写的最好,书中总结了12种实现继承的方法(原型链,临时构造器,原型属性拷贝,寄生继承……),展现了JavaScript作为一门动态语言的强大,也让讨厌它的人有了攻击它的理由。Whatever,这门语言已经无法阻挡。中文版该书的印刷方式有些奇怪,纸张比较厚,字体比较大,其实内容并没有非常的多,建议大家如果能看电子书的话最好,英文原本应该也比较容易找到。私认为中文书的定价有些偏高,可能跟版权有关。无论如何,JavaScript是一门痛并快乐着的语言,迟早你都会从它身上感受到这股独特的魅力。

精彩短评 (总计37条)

  •     js oo的入门书,想要进一步了解,推荐dogulas的good part和《javascript模式》
  •     断断续续看了一周,很多内容很基础,但是还是有部分内容值得研究!
  •     多了多版本,感觉比较简单,javascript 模式 比这本更好
  •     前面的内容比较琐碎简单,后面的内容挺好。
  •     涵盖了大量的基础知识,同时也涉及了一点较高阶的内容
  •     感觉2/3的内容 都没讲 面向对象的东西 谁要看呀
  •     比想象中的简单一点额
  •     书脊破了!不能算新书。
  •     看的第一版,真的讲解的相当透彻!深入浅出!强烈推荐有编程经验作为第一本JS读物!第一版使用firefox作为运行学习环境,第二版改为使用Chrome或者Node的Repl作为运行学习环境了,可能再修正一些勘误什么的吧
  •     感谢 @owlman 提供的书稿。关于JS的许多trick都在里面有谈及,在我学习js各种库如jquery的时候,和写自己的插件时,派上了很大的用场。JS真的是一门很神奇的语言,网页上许许多多有用的、动态绚丽的效果绝大多数都需要用到JS。本书简繁适中,适合新手入门及熟悉者回顾概念,较难的部分需要结合实际经验理解体会。
  •     对js oo有所了解了。
  •     感觉不错,第二版也买了。
  •     还没看呢 看了以后再说
  •     第三章和第四章第五章第六章太尼玛的重要了 这本书相当于新手进阶 用惯了jquery写网页后会忘记原本的JS是什么样子 JS是一门语言 要摒弃JS只能写网页程序的思想 JS应该是图灵完备的语言 能写出任何东西
  •     挺好的,内容丰富,讲解详细
  •     谁来完善一下书籍信息?
  •     国图翻过
  •     本书是最好的Javascript技术书籍,适合各类技术层次的人群阅读。
  •     讲的很透彻,都是基础
  •     对《JavaScript高级程序设计》的高度浓缩,形成了一个框架概念,不过要深入理解继承和封装以及闭包的意义和实际使用场景,还是要反复理解JavaScript中Object的结构以及js的编译原理。
  •     佩服作者的javascript功底和表达能力。通俗易懂,极力推荐。
  •     内容易懂,初学者容易上手。
  •     大牛作品,某些概念解释得特别接地气。ps.同是人邮出版,虽然印刷有些小错误但不影响阅读,字体和代码比起图灵系列真是友好太多,感觉图灵的编辑都蛮节约纸张。
  •     又试一本凑热闹的js书
  •     很不错,我就想要这样的一本书
  •     讲的都是很基础的内容,但是讲得很透彻很易懂,非常值得初学者读。比犀牛和高级程序设计那两本更适合入门
  •     中规中矩的js入门书,并非“js面向对象技巧的专著”。
  •     非常推荐前端阅读的基础书,对于我自己来说在很短的时间内了解了许多关于JavaScript的重点知识,在第六章继承和第八章设计模式地方,我的理解不深,所以打算找本其他书继续看看。48个番茄!完成!
  •     Javascript的入门书中算是很给力的,从各个方面全面的讲解了Javascript,翻译流畅,内容通俗易懂。
  •     很值得去细读的一本好书!
  •     很好,对我找工作启到很重要的学习提示。谢谢
  •     三个字:很实用!
  •     初入行的时候不知道这本书的定位是什么,后来随着岁月的流逝,我懂了这本书的价值所在,这是一本好书。
  •     对象原型和继承讲的明白,内容都是比较基础的概念,到写作者功力深厚,翻译也不赖,2天可以看完。
  •     易懂 是初学JS的好教程
  •     适合入门的,没啥新内容
  •     原来就看过这本书,觉得内容讲得很透彻,这次自己买了就可以好好看看了
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024