Skip to content

panyu1215057791/JavaScript-OOP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaScript-OOP

《JavaScript面向对象编程指南》读后知识点整理。 《JavaScript面向对象编程指南》作者:Stoyan Stefanov

简介 JavaScript是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象编程语言。《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库。 全书包括8章和3个附录,依次介绍了JavaScript的发展历史、基础性话题(变量、数据类型、数组、循环以及条件表达式)、函数、对象、原 型、继承的实现、BOM和DOM等。附录部分包括了学习JavaScript编程常用的参考资源。尤其值得一提的是,《JavaScript面向对象编程 指南》作者是JavaScript设计模式方面的专家,他在本书第8章中介绍了几种常用的JavaScript编程模式,这也为他后续的另一本重要著作 《JavaScript Patterns》奠定了基础。 《JavaScript面向对象编程指南》全面地覆盖了JavaScript语言的OO特性,同时兼顾基础知识,对初学者来说,是难得的 JavaScript佳作。阅读本书不需要读者具备任何的JavaScript基础知识及项目经验,通过学习本书,读者将会在面试有关 JavaScript程序设计的职位时游刃有余。

目录 第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

About

JavaScript面向对象编程指南

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 70.5%
  • HTML 29.5%