互联网
类型
7.2
豆瓣评分
可以朗读
语音朗读
516千字
字数
2017-08-01
发行日期
展开全部
主编推荐语
全面讲解了JavaScript框架设计及相关的知识。
内容简介
本书全面讲解了JavaScript框架设计及相关的知识,主要内容包括种子模块、语言模块、浏览器嗅探与特征侦测、类工厂、选择器引擎、节点模块、数据缓存模块、样式模块、属性模块、PC端和移动端的事件系统、jQuery的事件系统、异步模型、数据交互模块、动画引擎、MVVM、前端模板(静态模板)、MVVM的动态模板、性能墙与复杂墙、组件、jQuery时代的组件方案、avalon2的组件方案、react的组件方案等。
本书适合前端设计人员、JavaScript开发者、移动UI设计者、程序员和项目经理阅读,也可作为相关专业学习用书和培训学校教材。
目录
- 版权信息
- 内容提要
- 前言
- InfoQ访谈
- 第1章 种子模块
- 1.1 模块化
- 1.2 功能介绍
- 1.3 对象扩展
- 1.4 数组化
- 1.5 类型的判定
- 1.5.1 type
- 1.5.2 isPlainObject
- 1.5.3 isWindow
- 1.5.4 isNumeric
- 1.5.5 isArrayLike
- 1.6 domReady
- 1.7 无冲突处理
- 1.8 总结
- 第2章 语言模块
- 2.1 字符串的扩展与修复
- 2.1.1 repeat
- 2.1.2 byteLen
- 2.1.3 pad
- 2.1.4 quote
- 2.1.5 trim与空白
- 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.2.1 相当精巧的库—P.js
- 4.2.2 JS.Class
- 4.2.3 simple-inheritance
- 4.2.4 体现JavaScript灵活性的库——def.js
- 4.3 进击的属性描述符
- 4.4 真类降临
- 第5章 选择器引擎
- 5.1 浏览器内置的寻找元素的方法
- 5.2 getElementsBySelector
- 5.3 选择器引擎涉及的知识点
- 5.3.1 关系选择器
- 5.3.2 伪类
- 5.3.3 其他概念
- 5.4 选择器引擎涉及的通用函数
- 5.4.1 isXML
- 5.4.2 contains
- 5.4.3 节点排序与去重
- 5.4.4 切割器
- 5.4.5 属性选择器对于空白字符的匹配策略
- 5.4.6 子元素过滤伪类的分解与匹配
- 5.5 Sizzle引擎
- 5.6 总结
- 第6章 节点模块
- 6.1 节点的创建
- 6.2 节点的插入
- 6.3 节点的复制
- 6.4 节点的移除
- 6.5 节点的移除回调实现
- 6.5.1 Mutation Obschmerver
- 6.5.2 更多候选方案
- 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.3.1 opacity
- 8.3.2 user-select
- 8.3.3 background-position
- 8.3.4 z-index
- 8.3.5 盒子模型
- 8.3.6 元素的尺寸
- 8.3.7 元素的显隐
- 8.3.8 元素的坐标
- 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.2.1 回调函数callbacks
- 12.2.2 观察者模式obschmervers
- 12.2.3 事件机制listeners
- 12.3 JSDeferred里程碑
- 12.4 jQuery Deferred宣教者
- 12.5 es6 Promise第一个标准模型
- 12.5.1 构造函数:Promise ( executor )
- 12.5.2 Promise.resolve/reject
- 12.5.3 Promise.all/race
- 12.5.4 Promise#then/catch
- 12.5.5 Promise#resolve/reject
- 12.5.6 Promsie#notify
- 12.5.7 nextTick
- 12.6 es6生成器过渡者
- 12.6.1 关键字yield
- 12.6.2 yield*和yield的区别
- 12.6.3 异常处理
- 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.2.1 求值函数
- 15.2.2 刷新函数
- 15.3 ViewModel
- 15.3.1 Proxy
- 15.3.2 Reflect
- 15.3.3 avalon的ViewModel设计
- 15.3.4 angular的ViewModel设计
- 15.4 React与虚拟DOM
- 15.4.1 React的diff算法
- 15.4.2 React的多端渲染
- 15.5 性能墙与复杂墙
- 第16章 组件
- 16.1 jQuery时代的组件方案
- 16.2 avalon2的组件方案
- 16.2.1 组件容器
- 16.2.2 配置对象
- 16.2.3 slot机制
- 16.2.4 soleSlot机制
- 16.2.5 生命周期
- 16.3 React的组件方案
- 16.3.1 React组件的各种定义方式
- 16.3.2 React组件的生命周期
- 16.3.3 React组件间通信
- 16.3.4 React组件的分类
- 16.4 前端路由
- 16.4.1 storage
- 16.4.2 mmHistory
- 16.4.3 mmRouter
- 彩蛋
- 欢迎来到异步社区!
- 异步社区的来历
- 社区里都有什么?
- 灵活优惠的购书
- 社区里还可以做什么?
- 加入异步
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。