JS忍者秘籍

2018.6.24 星期日 00:24

# 第一部分 准入训练

一 进入忍者世界

1.1 即将探索js库

1.2 理解js语言

1.3 跨浏览器注意事项

1.4 当前最佳实践

测试、性能

1.5 总结

二 利用测试和调试武装自己

2.1 调试代码

日志记录、断点

2.2 测试用例生成

2.3 测试框架

QUnit,YUI Test,JsUnit,新出

2.4 测试套件基础知识

断言、测试组、异步测试

2.5 总结

# 第二部分 见习训练

三 函数是根基

3.1 函数的独特之处

函数式特性、使用比较器排序

3.2 声明

3.3 调用

参数到形参、做为函数/方法/构造器进行调用、apply和call

3.4 总结

四 挥舞函数

4.1 匿名

4.2 递归

普通函数/方法中递归,引用丢失,内联命名函数,callee

4.3 视为对象

函数存储,自记忆,伪造数组方法

4.4 可变长度参数

apply,重载

4.5 函数判断

五 闭包

5.1 如何工作

5.2 使用

私有变量,回调与计时器

5.3 绑定上下文

5.4 偏应用函数

5.5 重载

缓存记忆,函数包装

5.6 即时函数

临时作用域和私有变量,循环,类库包装

六 原型与面向对象

6.1 实例化和原型

对象实例化,构造器判断对象类型

6.2 疑难陷进

扩展对象,扩展数字,子类化原生对象,实例化问题

6.3 编写类风格的代码

检测函数是否可序列化,子类的实例化,保留父级方法

七 正则表达式

7.1 为什么很牛

7.2 进阶

解释,术语与操作符

7.3 编译

7.4 捕获匹配的片段

简单,全局,引用,分组

7.5 利用函数进行替换

7.6 利用解决常见问题

修剪str,匹配换行符,Unicode,转义字符

八 驯服线程和定时器

8.1 如何工作的

设置和清除,。。

8.2 延迟的最小化及其可靠性

8.3 处理昂贵的计算过程

8.4 中央定时器控制

8.5 异步测试

# 第三部分 忍者训练

九 运行时代码求值

9.1 机制

eval(),函数构造器,定时器,全局作用域内,安全的代码求值

9.2 函数反编译

9.3 实战

json转化,导入命名空间,js压缩和混淆,动态重写代码,面向切面的脚本标签,元语言和领域特定语言

零 with语句

$_PS: 略过 。。。

0.1 怎么回事

0.2 真实示例

0.3

0.4 测试

0.5

一 开发跨浏览器策略

1.1 选择要支持的浏览器

1.2 五大开发关注点

bug和差异,bug修复,与外部代码共存,缺失的功能,回归

1.3 实现策略

安全的跨修复,对象检测,特性仿真,不可检测的问题

1.4 减少假设

二 洞悉特性、属性和样式

2.1 dom特性和dom属性

跨浏览器命名,命名限制,xml和html差异,自定义特性的行为,性能注意事项

2.2 跨的attribute问题

dom的id/name膨胀,url规范,style特性,type特性,tab index问题,节点名称

2.3 令人头疼的样式

在何处,属性命名,float,像素值转换,测量高度和宽度,opacity,颜色

2.4 获取计算样式

# 第三部分 火影训练

三 不老事件

3.1 绑定和解绑事件处理程序

3.2 event对象

3.3 处理程序的管理

几种存储相关信息,管理事件处理程序

3.4 事件触发

3.5 冒泡与委托

给祖先元素,修复浏览器不足

3.6 文档就绪事件

四 dom操纵

4.1 向dom注入html

html转为dom,dom插入文档,脚本执行

4.2 克隆元素

4.3 删除元素

4.4 文本内容

设置文本,获取

五 css选择器引擎

5.1 wec selectors api

5.2 利用XPath 查找元素

5.3 纯dom实现

对选择器进行解析,查找元素,过滤结果集,递归和合并,自下而上的选择器引用

1:09

knowledge is no pay,reward is kindness
0%