Answers
a、如果有文档话,肯定是看着文档容易理解
b、首先要人为的分块,毕竟作者也不是一下就把代码写出来的。
拿你的链接的例子说:
-
首先是状态变量定义(或者你所认为的一些其他东西),也就是所谓
var *
(在所有大括号外定义的) -
其次
function Interface(
的定义,也就是Interface的析构函数+调用实现 -
剩下就是
Interface.prototype.*
实现的各种方法,快速技巧就是通过判断每个名字的大概意思,内部实现不用深究,等到具体逻辑跟踪的时候分析 - 在向下的话就是类似如此的结构
function emitKeypressEvents(stream) {
// something
}
exports.emitKeypressEvents = emitKeypressEvents;
//基本上可以看出是用来扩展exprots,细节同样不关注,靠名字猜意思
- 经过上面的分析以后,基本就剩下几个函数的定义,通过名字猜猜意思,然后你就可以直接跟踪分析,这需要具体结合你要做什么才能具体分析。
五月病又犯了
answered 11 years, 10 months ago