Javascript 什么是_(项目)“;当调用JS函数时,您会怎么做?
这里是Javascript新手。在学习JavaScript中的高阶函数时,我看到了以下示例。在调用.chain()之前,是否有人能解释一下(项)的作用?多谢各位Javascript 什么是_(项目)“;当调用JS函数时,您会怎么做?,javascript,underscore.js,Javascript,Underscore.js,这里是Javascript新手。在学习JavaScript中的高阶函数时,我看到了以下示例。在调用.chain()之前,是否有人能解释一下(项)的作用?多谢各位 //items is an array with nested objects as elements var count = _(items).chain() .flatten() .reduce(.....) .value(); \u.chain()相当于\u.chain(items)。这两种方
//items is an array with nested objects as elements
var count = _(items).chain()
.flatten()
.reduce(.....)
.value();
\u.chain()
相当于\u.chain(items)
。这两种方法都是用来实现的,其中方法被链接起来,作用于先前的结果。因此,必须以某种方式包装您开始的第一个值,以便它能够理解这些下划线方法
(items)
调用本身(不带.chain()
)将提供下划线的方法,但无法进一步链接结果。调用\uuu.chain(items)
不仅提供对下划线方法的访问,而且还确保此行为继续,允许进一步链接下划线方法
更改日志有助于理解为何存在这两种语法:
0.4.0-2009年11月7日-Diff-Docs
现在可以以面向对象的样式调用所有下划线函数,如下所示:([1,2,3]).map(…)代码>
1.2.4-2012年1月4日-差异-文件
您现在可以(而且可能应该,因为它更简单)编写.chain(list)
,而不是\u(list).chain()
因此,您引用的语法是“较旧”的语法。是吗?事实上,在您的辩护中,下划线文档在解释\u
函数本身的功能方面做得很糟糕。我在这里发布之前就做过。我只在文件里找到了,但没有明确的解释。如果你是落选的选民,我建议你要比以一种居高临下的方式说话更乐于助人。一点小费对我很有帮助。不要害怕看源代码。打开库,搜索uz()函数并读取它。您不仅可以看到它是如何工作的,还可以看到良好的功能组合等。通常,您学到的知识比文档所能为您提供的技术多得多。。在美国社会有一句很好的话……“这只是JS”,这不是魔法!我不是选民。基本上,\uu
函数“包装”对象,从而可以执行那些链接调用。