读一下underscore源代码,用于本身学习,我的理解,若是有不对的地方但愿指正,谢谢安全
我觉着阅读的顺序按照从总体到局部,从架构到细节较好。架构
(function() {}.call(this));app
整个源代码就是使用全局变量this做为调用方执行一个匿名自执行函数,目的就是防止全局对象被污染,经过传递this的值传递全局变量到函数内部。函数
var _ = function(obj) {
if (obj instanceof _) return obj;
if (!(this instanceof _)) return new _(obj);
this._wrapped = obj;
};学习
而后把_加到全局变量上去:this
if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
exports = module.exports = _;
}
exports._ = _;
} else {
root._ = _;
}对象