作品简介

本书全面讲解了JavaScript框架设计及相关的知识,主要内容包括种子模块、语言模块、浏览器嗅探与特征侦测、类工厂、选择器引擎、节点模块、数据缓存模块、样式模块、属性模块、PC端和移动端的事件系统、jQuery的事件系统、异步模型、数据交互模块、动画引擎、MVVM、前端模板(静态模板)、MVVM的动态模板、性能墙与复杂墙、组件、jQuery时代的组件方案、avalon2的组件方案、react的组件方案等。本书适合前端设计人员、JavaScript开发者、移动UI设计者、程序员和项目经理阅读,也可作为相关专业学习用书和培训学校教材。

钟钦成,网名司徒正美,著名的JavaScript专家,立志做考古学家的日语系工程师,穿梭于二次元与二进制间的“魔法师”,做过陶艺,写过小说,涉猎Java、Ruby、JavaScript,3年成就此书!

作品目录

  • 内容提要
  • 前言
  • InfoQ访谈
  • 第1章 种子模块
  • 1.1  模块化
  • 1.2 功能介绍
  • 1.3 对象扩展
  • 1.4 数组化
  • 1.5 类型的判定
  • 1.6 domReady
  • 1.7 无冲突处理
  • 1.8  总结
  • 第2章 语言模块
  • 2.1 字符串的扩展与修复
  • 2.2 数组的扩展与修复
  • 2.3 数值的扩展与修复
  • 2.4 函数的扩展与修复
  • 2.5 日期的扩展与修复
  • 第3章 浏览器嗅探与特征侦测
  • 3.1 浏览器判定
  • 3.2 document.all趣闻
  • 3.3 事件的支持侦测
  • 3.4 样式的支持侦测
  • 3.5 jQuery一些常用特征的含义
  • 第4章 类工厂
  • 4.1 JavaScript对类的支撑
  • 4.2 各种类工厂的实现
  • 4.3 进击的属性描述符
  • 4.4 真类降临
  • 第5章 选择器引擎
  • 5.1 浏览器内置的寻找元素的方法
  • 5.2 getElementsBySelector
  • 5.3 选择器引擎涉及的知识点
  • 5.4 选择器引擎涉及的通用函数
  • 5.5 Sizzle引擎
  • 5.6 总结
  • 第6章 节点模块
  • 6.1 节点的创建
  • 6.2 节点的插入
  • 6.3 节点的复制
  • 6.4 节点的移除
  • 6.5 节点的移除回调实现
  • 6.6 innerHTML、innerText、outerHTML、outerText的兼容处理
  • 6.7 模板容器元素
  • 6.8 iframe元素
  • 6.9 总结
  • 第7章 数据缓存模块
  • 7.1  jQuery的第1代缓存系统
  • 7.2 jQuery的第2代缓存系统
  • 7.3 jQuery的第3代缓存系统
  • 7.4 有容量限制的缓存系统
  • 7.5 本地存储系统
  • 7.6 总结
  • 第8章 样式模块
  • 8.1 主体架构
  • 8.2 样式名的修正
  • 8.3 个别样式的特殊处理
  • 8.4 元素的滚动条的坐标
  • 8.5 总结
  • 第9章 属性模块
  • 9.1 元素节点的属性
  • 9.2 如何区分固有属性与自定义属性
  • 9.3 如何判定浏览器是否区分固有属性与自定义属性
  • 9.4 IE的属性系统的3次演变
  • 9.5 className的操作
  • 9.6 Prototype.js的属性系统
  • 9.7 jQuery的属性系统
  • 9.8 avalon的属性系统
  • 9.9 value的操作
  • 9.10 总结
  • 第10章 PC端的事件系统
  • 第10章 PC端的事件系统
  • 10.1 原生API简介
  • 10.2 onXXX绑定方式的缺陷
  • 10.3 attachEvent的缺陷
  • 10.4 addEventListener的缺陷
  • 10.5 handleEvent与EventListenerOptions
  • 10.6 Dean Edward“大神”的addEvent.js源码分析
  • 10.7 jQuery的事件系统
  • 10.8 avalon2的事件系统
  • 10.9 总结
  • 第11章 移动端的事件系统
  • 11.1 touch系事件
  • 11.2 gesture系事件
  • 11.3 tap系事件
  • 11.4 press系事件
  • 11.5 swipe系事件
  • 11.6 pinch系事件
  • 11.7 拖放系事件
  • 11.8 rotate系事件
  • 11.9 总结
  • 第12章 异步模型
  • 12.1 setTimeout与setInterval
  • 12.2 Promise诞生前的世界
  • 12.3 JSDeferred里程碑
  • 12.4 jQuery Deferred宣教者
  • 12.5 es6 Promise第一个标准模型
  • 12.6 es6生成器过渡者
  • 12.7 es7 async/await终极方案
  • 12.8 总结
  • 第13章 数据交互模块
  • 13.1 Ajax概览
  • 13.2 优雅地取得XMLHttpRequest对象
  • 13.3 XMLHttpRequest对象的事件绑定与状态维护
  • 13.4 发送请求与数据
  • 13.5 接收数据
  • 13.6 上传文件
  • 13.7 jQuery.ajax
  • 13.8 fetch,下一代Ajax
  • 第14章 动画引擎
  • 14.1 动画的原理
  • 14.2 缓动公式
  • 14.3 jQuery.animate
  • 14.4 mass Framework基于JavaScript的动画引擎
  • 14.5 requestAnimationFrame
  • 14.6 CSS3 transition
  • 14.7 CSS3 animation
  • 14.8 mass Framework基于CSS的动画引擎
  • 第15章MVVM
  • 15.1 前端模板(静态模板)
  • 15.2 MVVM的动态模板
  • 15.3 ViewModel
  • 15.4 React与虚拟DOM
  • 15.5 性能墙与复杂墙
  • 第16章 组件
  • 16.1 jQuery时代的组件方案
  • 16.2 avalon2的组件方案
  • 16.3 React的组件方案
  • 16.4 前端路由
  • 彩蛋
  • 欢迎来到异步社区!
  • 异步社区的来历
  • 社区里都有什么?
  • 社区里还可以做什么?
  • 加入异步
展开全部