{"id":19916896,"url":"https://github.com/rubylouvre/jsbook","last_synced_at":"2025-04-10T00:19:30.607Z","repository":{"id":8544216,"uuid":"10165364","full_name":"RubyLouvre/jsbook","owner":"RubyLouvre","description":"一些章节","archived":false,"fork":false,"pushed_at":"2016-05-21T15:20:19.000Z","size":16747,"stargazers_count":276,"open_issues_count":63,"forks_count":79,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-04-02T22:06:30.343Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mildred/andLess","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RubyLouvre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-20T03:30:12.000Z","updated_at":"2025-02-06T01:13:13.000Z","dependencies_parsed_at":"2022-08-07T04:16:37.337Z","dependency_job_id":null,"html_url":"https://github.com/RubyLouvre/jsbook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fjsbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fjsbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fjsbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyLouvre%2Fjsbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RubyLouvre","download_url":"https://codeload.github.com/RubyLouvre/jsbook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131545,"owners_count":21052873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T21:47:57.841Z","updated_at":"2025-04-10T00:19:30.582Z","avatar_url":"https://github.com/RubyLouvre.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"book\n====\n\u003cpre\u003e\n我的书的演示代码与图片与思维图源文件(感谢教主，玉伯，貘吃馍香，林小志，TOM大叔帮忙审稿)\n// 各章的页数\n// prelude 11 seed 17 module 14  lang 38  detect 10  class 33  selector 43\n// node 55 data 17 css 34 attr 32 event 55 async  34 io 28 fx 40 plugin 13 mvvm 42\n\n书名 javascript框架设计（400多页）\n\n\n\n序章\n\n第1节 框架与库\n第2节 javascript年代划分\n第3节 javascript框架分类\n第4节 javascript框架的主要功能\n\n第1章 种子模块\n第1节 命名空间\n第2节 对象扩展\n第3节 数组化\n第4节 类型的判定\n第5节 domReady\n第6节 无冲突处理\n\n第2章 模块加载系统\n第1节 AMD规范\n第2节 加载器所在路径的探知\n第3节 require方法\n第4节 define方法\n\n第3章 语言模块\n第1节 字符串的扩展与修复\n第2节 数组的扩展与修复\n第3节 数值的扩展与修复\n第4节 函数的扩展与修复\n第5节 日期的扩展与修复\n\n\n第4章 浏览器嗅探与特征侦测\n第1节 判定浏览器\n第2节 事件的支持侦测\n第3节 样式的支持侦测\n第4节 jQuery一些常用特征的含义\n\n第5章 类工厂\n第1节 javascript对类的支撑\n第2节  各种类工厂的实现\n第2.1节 P.js\n第2.2节 JS.Class\n第2.3节 simple-inheritance\n第2.4节 def.js\n第3节 es5属性描述符对OO库的冲击\n\n第6章 选择器引擎\n第1节 浏览器内置的寻找元素的方法\n第2节 getElementsBySelector\n第3节 选择器引擎涉及的知识点\n第4节 选择器引擎涉及的通用函数\n第4.1节 isXML\n第4.2节 contains\n第4.3节 节点排序与去重\n第4.4节 切割器\n第4.5节 属性选择器对于空白字符的匹配策略\n第4.6节 子元素过滤伪类的分解与匹配\n第5节  Sizzle引擎\n\n第7章 节点模块\n第1节 节点的创建\n第2节 节点的插入\n第3节 节点的复制\n第4节 节点的移除\n第5节 innerHTML, innerText与outerHTML的处理\n第6节 一些奇葩的元素节点\n第6.1节 iframe\n第6.2节 object\n第6.3节 video\n\n第8章 数据缓存系统\n第1节 jQuery的第1代缓存系统\n第2节 jQuery的第2代缓存系统\n第3节 mass Framework的第1代数据缓存系统\n第4节 mass Framework的第2代数据缓存系统\n第5节 mass Framework的第3代数据缓存系统\n\n第9章 样式模块\n第1节 主体结构\n第2节 样式名的修正\n第3节   个别样式的特殊处理\n第3.1节 透明度\n第3.2节 user-select\n第3.3节 backgroundPosition\n第3.4节 z-index\n第3.5节 盒子模型\n第3.6节 元素的尺寸\n第3.7节 元素的显示隐藏\n第3.8节 元素的坐标 \n第4节   元素的滚动条的坐标\n\n第10章 属性模块\n第1节 如何区分固有属性与自定义属性\n第2节 如何判定浏览器是否区分固有属性与自定义属性\n第3节 IE的属性系统的三次演变\n第4节 className的操作\n第5节 Prototype.js的属性系统\n第6节 jQuery的属性系统\n第7节 mass Framework的属性系统\n\n第11章 事件系统\n第1节  onXXX绑定方式的缺陷\n第2节  attachEvent的缺陷\n第3节  addEventListener的缺陷\n第4节  Dean Edward 的addEvent.js源码分析\n第5节  jquery1.8.2的事件模块概览\n第6节  jQuery.event.add的源码解读\n第7节  jQuery.event.remove的源码解读\n第8节  jQuery.event.dispatch的源码解读\n第9节  jQuery.event.trigger的源码解读\n第10节 jQuery对事件对象的修复\n第11节 滚轮事件的修复\n第12节 mouseenter与mouseleave事件的修复\n第13节 focusin与focusout事件的修复\n第14节 旧式IE下submit的事件代理的实现\n第15节 oninput事件的兼容性处理\n\n\n第12章 异步处理\n第1节 setTimeout与setInterval\n第2节 Mochikit Deferred\n第3节 JSDeferred\n第4节 jQuery Deferred\n第5节 javascript异步处理的前景\n\n第13章 数据交互模块\n第1节 AJAX概览\n第2节 优雅地取得XMLHttpRequest 对象\n第3节 XMLHttpRequest 对象的事件绑定与状态维护\n第4节 发送请求与数据\n第5节 接收数据\n第6节 上传文件\n第7节 一个完整的AJAX实现\n\n第14章 动画引擎\n第1节 动画的原理\n第2节 缓动公式\n第3节 API的设计\n第4节 mass Framework基于JS的动画引擎\n第5节 requestAnimationFrame\n第6节 CSS3 transition\n第7节 CSS3 animation\n第8节 mass Framework基于CSS 的动画引擎\n\n第15章  插件化\n第1节 jQuery的插件的一般写法\n第2节 jQuery ui对内部类的操作\n第3节 jQuery easyui的智能加载与个别化制定\n第4节 更直接地操作UI实例\n\n第16 章 MVVM\n第1节　当前主流MVVM框架介绍\n第2节  属性变化的监听\n第3节  ViewModel\n第4节  绑定\n第5节  监控数组与子模板\n结语\n\n\u003c/pre\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubylouvre%2Fjsbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubylouvre%2Fjsbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubylouvre%2Fjsbook/lists"}