JavaScript 框架设计 司徒正美 编著

第1章 种子模块 
1.1 命名空间 
1.2 对象扩展 
1.3 数组化 
1.4 类型的判定 
1.5 主流框架引入的机制——domReady 
1.6 无冲突处理

第2章 模块加载系统 
2.1 AMD规范 
2.2 加载器所在路径的探知 
2.3 require方法 
2.4 define方法

第3章 语言模块 
3.1 字符串的扩展与修复 
3.2 数组的扩展与修复 
3.3 数值的扩展与修复 
3.4 函数的扩展与修复 
3.5 日期的扩展与修复

第4章 浏览器嗅探与特征侦测 
4.1 判定浏览器 
4.2 事件的支持侦测 
4.3 样式的支持侦测 
4.4 jQuery一些常用特征的含义

第5章 类工厂 
5.1 JavaScript对类的支撑 
5.2 各种类工厂的实现 
5.2.1 相当精巧的库——P.js 
5.2.2 JS.Class
5.2.3 simple-inheritance 
5.2.4 体现JavaScript灵活性的库——def.js 
5.3 es5属性描述符对OO库的冲击

第6章 选择器引擎 
6.1 浏览器内置的寻找元素的方法 
6.2 getElementsBySelector 
6.3 选择器引擎涉及的知识点 
6.4 选择器引擎涉及的通用函数 
6.4.1 isXML 
6.4.2 contains 
6.4.3 节点排序与去重 
6.4.4 切割器 
6.4.5 属性选择器对于空白字符的匹配策略 
6.4.6 子元素过滤伪类的分解与匹配 
6.5 Sizzle引擎

第7章 节点模块 
7.1 节点的创建 
7.2 节点的插入 
7.3 节点的复制 
7.4 节点的移除 
7.5 innerHTML、innerText与outerHTML的处理 
7.6 一些奇葩的元素节点 
7.6.1 iframe元素 
7.6.2 object元素 
7.6.3 video标签

第8章 数据缓存系统 
8.1 jQuery的第1代缓存系统 
8.2 jQuery的第2代缓存系统 
8.3 mass Framework的第1代数据缓存系统 
8.4 mass Framework的第2代数据缓存系统 
8.5 mass Framework的第3代数据缓
存系统 
8.6 总结

第9章 样式模块 
9.1 主体结构 
9.2 样式名的修正 
9.3 个别样式的特殊处理 
9.3.1 opacity 
9.3.2 user-select 
9.3.3 background-position 
9.3.4 z-index 
9.3.5 盒子模型 
9.3.6 元素的尺寸 
9.3.7 元素的显隐 
9.3.8 元素的坐标 
9.4 元素的滚动条的坐标

第10章 属性模块 
10.1 如何区分固有属性与自定义属性 
10.2 如何判定浏览器是否区分固有属性与自定义属性 
10.3 IE的属性系统的三次演变 
10.4 className的操作 
10.5 Prototype.js的属性系统 
10.6 jQuery的属性系统 
10.7 mass Framework的属性系统 
10.8 value的操作

第11章 事件系统 
11.1 onXXX绑定方式的缺陷 
11.2 attachEvent的缺陷 
11.3 addEventListener的缺陷 
11.4 Dean Edward的addEvent.js源码分析 
11.5 jquery1.8.2的事件模块概览 
11.6 jQuery.event.add的源码解读 
11.7 jQuery.event.remove的源码解读 
11.8 jQuery.event.dispatch的源码解读 
11.9 jQuery.event.trigger的源码解读 
11.10 jQuery对事件对象的修复 
11.11 滚轮事件的修复 
11.12 mouseenter与mouseleave事件的修复 
11.13 focusin与focusout事件的修复 
11.14 旧版本IE下submit的事件代理的实现 
11.15 oninput事件的兼容性处理

第12章 异步处理 
12.1 setTimeout与setInterval 
12.2 Mochikit Deferred 
12.3 JSDeferred 
12.3.1 得到一个Deferred实例 
12.3.2 Deferred链的实现 
12.3.3 JSDeferred的并归结果 
12.3.4 JSDeferred的性能提速 
12.4 jQuery Deferred 
12.5 Promise/A与mmDeferred 
12.6 JavaScript异步处理的前景

第13章 数据交互模块 
13.1 Ajax概览 
13.2 优雅地取得XMLHttpRequest对象 
13.3 XMLHttpRequest对象的事件绑定与状态维护 
13.4 发送请求与数据 
13.5 接收数据 
13.6 上传文件 
13.7 一个完整的Ajax实现

第14章 动画引擎 
14.1 动画的原理 
14.2 缓动公式 
14.3 API的设计 
14.4 mass Framework基于JavaScript的动画引擎 
14.5 requestAnimationFrame 
14.6 CSS3 transition 
14.7 CSS3 animation 
14.8 mass Framework基于CSS的动画引擎

第15章 插件化 
15.1 jQuery的插件的一般写法 
15.2 jQuery UI对内部类的操作 
15.3 jQuery easy UI的智能加载与个别化制定 
15.4 更直接地操作UI实例

第16章 MVVM 
16.1 当前主流MVVM框架介绍 
16.2 属性变化的监听 
16.3 ViewModel 
16.4 绑定 
16.5 监控数组与子模板

时间: 2024-10-25 12:40:56

JavaScript 框架设计 司徒正美 编著的相关文章

JavaScript框架设计 司徒正美 编著

1.框架与库 下面稍微说一下框架与库的区别. 库是解决某个问题而拼凑出来的一大堆函数与类的集合.例如,盖一个房子,需要有测量 的方法.砌砖的方法.安装门窗的方法等.每个方法之间都没什么关联.至于怎么盖房子都由 自己决定. 框架则是一个半成品的应用,直接给出一个骨架,还例如盖房子,照着图纸砌砖.铺地板 与涂漆就行了.在后端 Java 的三大框架中,程序员基本上就是与 XML 打交道,用配置就可以 处理 80%的编程问题. 从上面描述来看,框架带来的便利性无疑比库好许多.但前端 JavaScript

司徒正美文章列表

由于本人对司徒正美文章的喜欢,特此整理文章列表如下. 一个带完整的RBAC授权系统的rails应用(第一部分)(司徒正美, 3年前, 12/6549) 一个带完整的RBAC授权系统的rails应用(第二部分)(司徒正美, 3年前, 1/1135) 随机生成十六进制颜色(司徒正美, 3年前, 0/340) ruby中的类变量与实例变量(司徒正美, 3年前, 0/231) ruby模拟多个构造器(司徒正美, 3年前, 0/153) ruby的实例方法(写方法,读方法与读写方法)(司徒正美, 3年前,

迷你MVVM框架 avalonjs 入门教程(司徒正美)

迷你MVVM框架 avalonjs 入门教程 关于AvalonJs 开始的例子 扫描 视图模型 数据模型 绑定属性与动态模板 作用域绑定(ms-controller, ms-important) 模板绑定(ms-include) 数据填充(ms-text, ms-html) 类名切换(ms-class, ms-hover, ms-active) 事件绑定(ms-on,……) 显示绑定(ms-visible) 插入绑定(ms-if) 双工绑定(ms-duplex) 样式绑定(ms-css) 数据绑

如何挑选适合的前端框架(去哪儿网前端架构师司徒正美)

前端框架不断推新,众多IT企业都面临着"如何选择框架","是否需要再造轮子"的抉择.去哪儿网前端架构师司徒正美分析了各主流行框架优劣点.适用场景,并针对不同规模的公司.项目给出了相应的前端技术选择方案. 最近几年,前端技术迅猛发展,差不多每年都会冒出一款主流的框架. 每次新开业务线或启动新项目时,首先第一件事就是纠结:使用什么框架,重造什么轮子?我很高兴应CSDN的邀请谈我的看法. RequireJS,前端技术发展分水岭 在五六年前,移动端还没有兴起,我们没有什么选

前进的方向 没有方向就是蒙着眼睛的驴子原地踏步 一年经验混十年 说的真是太好了 必须要粘贴复制下来文章(司徒正美)

历时两年多,我的书终于付梓出版了.应各方面的要求,写软文一篇,隆重介绍一下此书对各位程序员的钱途有什么帮助及阅读顺序等疑问.作为国内第一本讲述前端框架构的书,它里面充斥着许多大家前所未闻的知识,这些知识有50%只见于github的issue,讲述各种隐秘的浏览器兼容性问题及各种神奇的修复方案,或者是某些危险但美丽的黑魔法,另外50%我深夜梦游般在外国某些大牛(不局限于英语,有日语,俄语,韩语等,不同的语言的人,受制了他们的语法结构,他们的思考回路是与我们不同的,给出的答案有时真的是拍案叫绝)的博

JS读书笔记:《JavaScript框架设计》——第12章 异步处理

一.何为异步   执行任务的过程可以被分为发起和执行两个部分. 同步执行模式:任务发起后必须等待直到任务执行完成并返回结果后,才会执行下一个任务. 异步执行模式:任务发起后不等待任务执行完成,而是马上执行下一个任务,当任务执行完成时则会收到通知. 面对IO操作频繁的场景,异步执行模式可在同等的硬件资源条件下提供更大的并发处理能力,也就是更大的吞吐量. 但由于异步执行模式打破人们固有的思维方式,并且任务的发起和任务的执行是分离的,从而提高编程的复杂度. 多线程.多进程均可实现异步模式. 二.从回调

onhashchange事件--司徒正美

onhashchange事件是针对AJAX无缝刷新导致后退键失效而产生的事件,因此属于一个够新的事件,浏览器兼容性如下: Feature Chrome Firefox IE Opera Safari support 5.0 3.6 (1.9.2) 8.0 10.6 5.0 由于chrome引发的版本号竞赛,现在chrome20+,firefox16+,opera12了,因此对于标准浏览器我们不必顾虑支持问题,精力集中在IE678上.IE8在兼容模式下虽然有此事件,但不生效.这个检测也很简单.至于

JavaScript框架设计 pdf jQuery技术内幕 pdf

jQuery技术内幕  深入解析jQuery架构设计与实现原理 PDF电子书带目录  高清版 JavaScript框架设计  现代魔法指南 PDF电子书带目录 高清版 网络上的都是预览版,这是自制的,如有需要请联系qq:1067728292 10元一本,已然是最低价不讲价.

JavaScript框架设计---大神的框架研究笔记

原本是想买一本教如何去写一个js框架的书的,这本书完全是正美大神的框架源码阅读笔记,看的我这个非专业前端很是乏力,经常几个框架间跳来跳去,一下子就跟丢了,只能默默为自己的前端功力掩面.后来就本着了解和欣赏的态度去看,这样就好多了.  还是谈谈我看这本书的收获吧  1.大神们写代码真是惜墨如金.  2.底层API原来还有这么多,JavaScript高级编程,JavaScript权威指南都没讲完.  3.兼容性神马的IE这么多,也不单只有IE,FF,chrome都有兼容性问题.Jquery这些前端框