gpt4 book ai didi

javascript - 调用JS函数时 "_(items)"是做什么用的?

转载 作者:行者123 更新时间:2023-11-30 11:28:09 24 4
gpt4 key购买 nike

这里是 JavaScript 新手。在学习 JavaScript 中的高阶函数时,我看到了以下示例。有人可以解释 _(item) 在调用 .chain() 之前做了什么吗?谢谢。

//items is an array with nested objects as elements
var count = _(items).chain()
.flatten()
.reduce(.....)
.value();

最佳答案

_(items).chain() 等同于 _.chain(items)。两者都用于制作object-oriented style syntax可能,其中链接的方法作用于先前的结果。因此,您开始的第一个值必须以某种方式被包装,以便它理解此类下划线方法。

_(items) 调用本身(没有 .chain())将为您提供 underscore 的方法,但结果不能进一步链接。 _.chain(items) 调用不仅提供对下划线方法的访问,而且确保此行为继续,允许下划线方法进一步链接。

更改日志有助于理解为什么会有这两种语法:

0.4.0November 7, 2009 — Diff — Docs

All Underscore functions can now be called in an object-oriented style, like so: _([1, 2, 3]).map(...);.

1.2.4January 4, 2012 — Diff — Docs

You now can (and probably should, as it's simpler) write _.chain(list) instead of _(list).chain().

所以你引用的语法是“旧的”语法。

关于javascript - 调用JS函数时 "_(items)"是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47233026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com