这几天有大神推荐读underscore源码,趁着项目测试的空白时间,看了一下。
整个underscore包括了常用的工具函数,下面以1.3.3源码为例分析一下。
_.size = function(obj) { return _.isArray(obj) ? obj.length : _.keys(obj).length; };
整个underscore源码基本上都是以上这种方式写的,所以弄懂上面这段源码,整个underscore的源码就大概清楚了六七成了,剩下的源码用些时间,也就迎刃而解。
因为上面的函数内有_.keys,可能无法一下子弄清楚,下面这个函数源码更容易入门。
_.isNaN = function(obj) { return obj !== obj; };
只需弄明白对象_和函数参数obj这两个具体做了什么即可。
var _ = function(obj) { return new wrapper(obj); };
_定义为一个函数,该函数接受一个名为obj的形参,然后返回一个wrapper类的实例。
时间: 2024-10-27 07:11:44