Javascript 下划线函数的作用是什么?

Javascript 下划线函数的作用是什么?,javascript,underscore.js,Javascript,Underscore.js,我一直在使用下划线作为静态的集合 功能是什么: var _ = function(obj) { if (obj instanceof _) return obj; if (!(this instanceof _)) return new _(obj); this._wrapped = obj; }; 您将如何使用它的示例是什么?使用它包装对象: _([1, 2, 3, 4]); 然后在包装对象上使用下划线函数: _([1, 2, 3, 4]).shuffle()

我一直在使用下划线作为静态的集合

功能是什么:

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

您将如何使用它的示例是什么?

使用它包装对象:

_([1, 2, 3, 4]);
然后在包装对象上使用下划线函数:

_([1, 2, 3, 4]).shuffle()

您还可以使用下划线作为包装函数,以获得更多:

这些包装器对象还允许:


这只是一个变量名-他们可以将其称为
a
,但是
显然适用于已被称为下划线的脚本。函数实际上不允许链接下划线函数-上面的示例仅适用于“map”和“filter”是内置数组函数。他们不会使用下划线的实现,因此您可能会遇到与IE 8等的兼容性问题。使用u.chain函数进行链接。真是一个聪明的问题,认真地说。
_(val).method(…);
// instead of the equal
_.method(val, …);
_.chain(val).method1(…).method2(…);
// or
_(val).chain().method1(…).method2(…);