开始使用下划线
钥匙要点
- underscore.js是一个JavaScript库,为各种用例提供功能性实用程序,使代码更易于读写,并且在本机JavaScript中不总是可用的功能。 >
- 库包括用于编写可读循环的常见方法,例如_.each(),_.template()用于直观和直接的模板,以及_.filter()用于使用boolean函数过滤数组的_.filter()。 underscore.js轻巧,并由许多大牌项目使用,包括《今日美国》,《 LinkedIn》和《汗学院》。
- >使用unterscore.js,jQuery和Spotify Web API的演示应用程序演示了如何使用库从API获取和显示数据,并允许用户过滤结果。
underscore.js是由Jeremy Ashkenas撰写的JavaScript库,为各种用例提供了功能性实用程序,我们作为开发人员在面对Web项目时可能会遇到这些用例。> 它制作的代码更容易阅读:
>它使代码更易于编写:
>
_.isEmpty({}); // true
>它本身甚至可以用作模板引擎:
_.flatten([[0, 1], [2, 3], [4, 5]]); // [0, 1, 2, 3, 4, 5]
>下划线是一个轻量级的库(仅5.7kb,缩小和GZPECT),并由多种知名项目使用,例如:
_.range(5); // [0, 1, 2, 3, 4]
_.template('<p><%= text %></p>', {text: 'SitePoint Rocks!'}); // <p>SitePoint Rocks!</p>
汗学院
- 现在,让我们更具体地开始潜入其主要功能。
> 好零件 - 在本教程中,我将重点介绍下划线最常见的三种方法:
_。template()
_。filter()
- >我将解释它们是如何单独使用的,然后将它们绑在一起以构建在教程结束时可以找到的演示应用程序。与以往一样,此演示的代码可在GitHub上获得。
- > 如果您想遵循示例,则需要获取图书馆的副本,例如,您喜欢的cdn:
- >,如果您发现自己一路需要帮助,或者您只是好奇地发现更多,请不要忘记,下划线的文档是广泛的。它也有一个庞大而活跃的社区,这意味着很容易找到帮助。
- > _。每个:写入可读循环
在代码中的某个时刻,没有一个与此片段相似的单个项目:
>下划线使您可以使用更可读的语法编写等效代码:
_.isEmpty({}); // true
整洁,是吗? _.EATEAD()采用两个参数:
- 段(或对象)要迭代。 >
- >回调函数。
)。在回调中,我们可以访问另外三个参数:
当前迭代索引(艺术家)的数组值。例如,对于上面的摘要,我们将获得第一次迭代的“ pharrel williams”。- >
- >当前迭代的数量(索引),在我们的情况下,该迭代的数量将从0到2不等。 我们正在通过(艺术家)迭代的数组。
- 您可以看到代码更可读,我们可以访问数组中的各个元素而无需艺术家[i],就像我们在示例中看到的示例。
- >请参阅codepen上的sitepoint(@sitepoint)的笔 接下来,我们将看到模板引擎的行为。
_。template():直观而直接
以来,自单页应用程序的兴起以来,拥有可靠的前端模板引擎已成为我们工作堆栈的基本需求。
>下划线提供了一个模板引擎,对于那些熟悉PHP或Ruby在Rails上的语言的人来说,它似乎很熟悉。 在以前的片段中继续进行
,我们将演示_.template()的工作方式。我们将通过在我们的代码中添加几行,如下所示:>在这里,我们正在使用字符串参数调用_.template()函数,该函数包括定界符中的一些数据()。当以这种方式调用时,_.template()返回一个函数,我们可以一次又一次使用。
>
>我们可以使用ArtistTemplate()调用我们的新功能,将其传递给对象字面作为参数。这将返回我们最初传递给_.template()的字符串,替换与模板自由变量相对应的任何对象属性。在我们的情况下>下划线的模板引擎不仅允许更换单个值,而且还允许在模板本身内部执行脚本。通过一次修改,我们可以使我们的片段更加强大。
>>我们已将对_.each()的调用纳入代表我们模板的字符串,这使我们更改了调用模板的方式。由于我们现在在_.template()函数中迭代,因此我们可以将完整的艺术家阵列传递到ArtistTemplate()(以前我们正在通过单个艺术家)。此代码的输出将与上一个示例中的输出相同。
_.flatten([[0, 1], [2, 3], [4, 5]]); // [0, 1, 2, 3, 4, 5]
当我们想要_.template()评估JavaScript代码时,我们只需要在> 的之间包围我们的代码
>自调用由_.template生成的模板就像调用函数一样,我们可以将摘要更进一步,并通过使用 tags将一个模板从另一个内部调用。这样,我们可以制作可重复使用的模板,因为我们可以为我们的艺术家列表提供不同的包装模板,并为其包含的每个项目调用模板。>请参见codepen上的sitepoint(@sitepoint)的pen _.template()。
最后,让我们看一下_.filter()函数。>
_。Filter():您所需要的只是一个布尔函数_。filter()接收一个数组和回调函数作为参数。然后,它调用数组中每个元素的函数,并返回一个新数组,其中包含这些元素,该元素将函数评估为真实的事物。
>我们的回调函数还将收到三个参数,如_.eeld()案例:与当前迭代索引相对应的数组中的元素,迭代的索引和数组本身。
为了澄清这一点,让我们对我们的片段进行几个修改。>
正如您可能已经猜到的那样,在我们的模板中,我们将收到['acdc']作为数组参数。这是我们到目前为止的演示。>
>请参阅codepen上的sitepoint(@sitepoint)的笔_.filter()足够说。让我们为某些事情变得更有意义的事物工作。
>我们的演示应用程序
_.isEmpty({}); // true
> jQuery
。
Spotify Web API
态
config Module
配置模块包含要使用的模板的ID,以及我们要查询的API的URL以及我们希望从Spotify获得的艺术家的ID。这样,我们可以通过在数组中添加更多元素来添加更多的艺术家。>
模板模块>
主模块
这是我们将用来进行过滤的按钮的标记:
这是我们将传递给过滤器函数的对象的一个示例:
_.isEmpty({}); // true
以上是开始使用下划线的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

学习JavaScript不难,但有挑战。1)理解基础概念如变量、数据类型、函数等。2)掌握异步编程,通过事件循环实现。3)使用DOM操作和Promise处理异步请求。4)避免常见错误,使用调试技巧。5)优化性能,遵循最佳实践。

实现视差滚动和元素动画效果的探讨本文将探讨如何实现类似资生堂官网(https://www.shiseido.co.jp/sb/wonderland/)中�...

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...
