a、如果有文档话,肯定是看着文档容易理解
b、首先要人为的分块,毕竟作者也不是一下就把代码写出来的。
拿你的链接的例子说:

  1. 首先是状态变量定义(或者你所认为的一些其他东西),也就是所谓 var * (在所有大括号外定义的)
  2. 其次 function Interface( 的定义,也就是Interface的析构函数+调用实现
  3. 剩下就是 Interface.prototype.* 实现的各种方法,快速技巧就是通过判断每个名字的大概意思,内部实现不用深究,等到具体逻辑跟踪的时候分析
  4. 在向下的话就是类似如此的结构

 function emitKeypressEvents(stream) {
    // something
}
exports.emitKeypressEvents = emitKeypressEvents;
//基本上可以看出是用来扩展exprots,细节同样不关注,靠名字猜意思

  1. 经过上面的分析以后,基本就剩下几个函数的定义,通过名字猜猜意思,然后你就可以直接跟踪分析,这需要具体结合你要做什么才能具体分析。
五月病又犯了 answered 11 years, 10 months ago

Your Answer