理解underscore.js:_对象定义

时间:2013-08-19 18:17:01

标签: javascript underscore.js

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

var _ = function(obj) {
  if (obj instanceof _) return obj;
  if (!(this instanceof _)) return new _(obj);
  this._wrapped = obj;
};

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

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

1 个答案:

答案 0 :(得分:6)

Underscore的_函数用作包围其他对象(如数组)的包装器,它不仅仅是方法的集合。

它需要做到这两点:

_.each(array, function () {...});

和此:

_(array).each(function () {...});