理解underscore.js:_对象定义

duc*_*cin 0 javascript underscore.js

我正在阅读underscore.js来源,试图了解所有这些.我还不了解的是_对象的定义.它的来源是:

var _ = function(obj) {
  if (obj instanceof _) return obj;
  if (!(this instanceof _)) return new _(obj);
  this._wrapped = obj;
};
Run Code Online (Sandbox Code Playgroud)

在实际范围(生命)中,这指的是全局对象,_尚未声明.

如果您_在控制台中键入并按Enter(例如chrome),假设您已加载下划线库,您将获得与上面相同的函数定义.嗯 - 这是为了什么?为什么它不是一个普通的对象{},所有的函数/属性作为属性附加?

mea*_*gar 6

Underscore的_功能是作为包围其他对象(如数组)的包装器,它不仅仅是方法的集合.

它需要做到这两点:

_.each(array, function () {...});
Run Code Online (Sandbox Code Playgroud)

还有这个:

_(array).each(function () {...});
Run Code Online (Sandbox Code Playgroud)