拥抱Underscore.js的温暖

   2025-07-23 admin00110

随着JavaScript慢慢移出浏览器,出现了一些可以显着提高JavaScript稳健性的工具。

其中一个工具称为Underscore.js,这就是我们今天要介绍的工具。让我们开始吧!

认识Underscore.js

那么Underscore到底是做什么的?

Underscore是一个JavaScript实用工具库,它提供了许多您在Prototype.js(或Ruby)中所期望的函数式编程支持,但没有扩展任何内置JavaScript对象。使用Python或Ruby工作的好处之一是像map这样的奇特结构,它让生活变得更加轻松。遗憾的是,当前版本的JavaScript在低级实用程序方面相当简陋。正如您在上面所读到的,Underscore.js是一个漂亮的小型JavaScript库,它以仅4kb的大小带来了数量惊人的功能。下划线的实际应用“关于图书馆的废话已经够多了”,我能听到你说。你是对的!在我继续我的大喊大叫之前,让我们先看看Underscore的运行情况。假设您有一组随机的测试分数,并且您需要一个包含90+分数的列表。您通常会写这样的内容:varscores=[84,99,91,65,87,55,72,68,95,42],topScorers=[],scoreLimit=90;for(i=0;iscoreLimit){topScorers.push(scores[i]);}}console.log(topScorers);它非常简单,即使进行了优化,对于我们想要做的事情来说也相当冗长。让我们看看接下来可以使用Underscore实现什么目标。varscores=[84,99,91,65,87,55,72,68,95,42],topScorers=[],scoreLimit=90;topScorers=_.select(scores,function(score){returnscore>scoreLimit;});console.log(topScorers);我不了解你,但我只是有一种书呆子气。这是一些令人难以置信的简洁和可读的代码。很好,但我真的需要这个吗?嗯,这完全取决于您想要做什么。如果您对JavaScript的使用仅限于玩弄DOM,那么答案大多是否定的,因为jQuery可以完成您想做的大部分事情。是的。

另一方面,如果您正在处理非DOM代码甚至复杂代码,请考虑MVC、前端代码,Underscore绝对是一个福音。

虽然该库公开的一些功能正在慢慢进入ECMA规范,但它并非在所有浏览器中都可用,并且让您的代码跨浏览器工作本身就是另一个噩梦。Underscore为您提供了一组很好的抽象,可以在任何地方使用。

如果您是一个以性能为导向的人(您应该如此),Underscore会回退到本机实现(如果可用),以确保性能尽可能最佳。

开始使用

只需在此处获取源代码,将其包含在您的页面中即可。

如果您期待一个大型的设置过程,那么您将会非常失望。只需在此处获取源代码,将其包含在您的页面中即可。

Underscore在全局范围内通过单个对象创建并公开其所有功能。该对象是标题下划线字符_。

如果您想知道,是的,这与jQuery使用美元[$]符号的方式非常相似。就像jQuery一样,您可以重新映射此字符,以防遇到冲突。或者,如果您像我一样对波形符有一种非理性的喜爱。

函数式还是面向对象?

虽然该库的官方营销宣传声称它添加了函数式编程支持,但实际上还有另一种做事方式。

让我们以之前的代码为例:

cript;toolbal:false;">varscores=[84,99,91,65,87,55,72,68,95,42],topScorers=[],scoreLimit=90;topScorers=_.select(scores,function(score){returnscore>scoreLimit;});console.log(topScorers);
 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  RSS订阅
Powered By DESTOON